再びゲームを作り始めるブログ
にゃんころ部屋



来年まで適当に改造していきましょう
カーソルのZ座標わけわかめ



12/20



12/23



12/26
年末までにどこまでいけるか



12/29
ツクール納め
意外と形になったキャラメイク
完成度50%



コメント ( 0 ) | Trackback ( 0 )




no mercy



20:00
ここからが本当の地獄だ・・・



21:00
死合に勝利しました
元の世界に戻ります



コメント ( 0 ) | Trackback ( 0 )




ゲオ行ったら見つけたのでamazonで購入
COMMENCE SPARRING



20:30



21:30



22:00
victory achieved



コメント ( 0 ) | Trackback ( 0 )




おはようございます 今日は川の清掃です
それはどうでもいい

bbsにあった遅延スキルの発動タイミングがおかしくなる場合があるという件(同じスキルのwaitが5になったり8になったりする)
手をつけてるうちにそれらしいの見つけて調べてみました

下の画像はスキルコマンドを選択した段階でコントローラーを操作していない状態での魔力の泉の遅延位置です wait9ですね


そして以下の画像は十字キーを操作して再度魔力の泉に合わせた時の遅延位置です スキルウインドウの裏にいるので見にくいですがwait6になっています



かいつまんでいうと行動順の操作はスキルの場合update_skill_forecastというメソッドで処理がなされています
そして@order_manegerのdef insertというメソッドで行動順のコマの位置処理をしているらしいです

#--------------------------------------------------------------------------
# ● 指定のバトラーをユニットとして追加します。
# battler 追加するバトラー
# waiting_time 待ち時間
# forecast 行動順の予想ユニットかどうかのフラグ
# skill スキルの使用待ちかどうかのフラグ
#
# start_skill_selectionからのinsertはunit=nilである
# よってwaiting_timeがそのまま適用されてしまい順番がおかしくなる
# 処理追加
#--------------------------------------------------------------------------
def insert(battler, waiting_time, forecast = false, skill = nil)
waiting_time = waiting_time.round

unit = find_unit(battler)
unless unit == nil
index = @units.index(unit)
if forecast
if skill == nil
unit.waiting_time = waiting_time
else #遅延スキルの場合
unit.waiting_time = calculate_unit_order(battler, waiting_time)
#~ p unit.waiting_time
end
end
unit.forecast = forecast
unit.usable_item = skill
sort
update_waiting_time_plus
@listener.insert(unit) unless index == @units.index(unit)
return
end

new_unit = OrderUnit.new(battler, waiting_time, forecast, skill)

@units.push(new_unit)
sort
update_waiting_time_plus
@listener.insert(new_unit)
end

一部改造しています 注釈に少し書いていますがアクターコマンドからスキルウインドウを開いた一発目のupdate_skill_forecastは
start_skill_selectionというメソッドから実行されています ここから実行された場合def insertには遅延待ちのユニット(画像だとヴァージニア)が行動順に描画されていないため
unit = nilとなり new_unit = OrderUnit.new(battler, waiting_time, forecast, skill) が適用される事になります
そしてスキルウインドウを操作して再度魔力の泉に合わせた場合 既に行動順に自身が組み込まれているため
再度合わせた場合はunit != nilとなり unless unit == nil内での処理が適用さるわけです

各々のwaiting_timeの計算処理が異なるため異なった待ち時間になってしまう という事らしいですね

river's clean working at 8:00 am

コメント ( 0 ) | Trackback ( 0 )