Appendix

広告

Entries

コメントお返事

> かおばん さん
ご報告助かります。
自分のスクリプト見直してみましたが、「これはひどい」と言わざるを得ない・・・・
競合起きにくくしたつもりが、起きて当たり前の内容になってます。

追記で書かれたスクリプトでも解決は出来ていますが、
無駄な部分もあるので解説がてらに修正案です。


まず、最初の部分は大丈夫です。


for vehicle in $game_map.vehicles
    if @vehicle.type == 2
    else
        sprite = Sprite_Character.new(@viewport1, vehicle)
        @character_sprites.push(sprite)
    end
end
とありますが、乗り物が飛行船タイプしかないようでしたら、これ全部削除してかまいません。

飛行船タイプ以外が存在するようでしたら、
for vehicle in $game_map.vehicles
    if vehicle != @vehicle
        sprite = Sprite_Character.new(@viewport1, vehicle)
        @character_sprites.push(sprite)
    end
end
としないと、他の乗り物が標示されなくなります。


subplayerについてですが、乗り物搭乗中は表示されないと思うので、削除してもらってよいです。


@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
も同様に、プレイヤーは標示されないため削除して結構です。


@character_sprites.pop.dispose
@character_sprites.delete_at(@vehicle.type - 3).dispose
さて、私のスクリプト部分ですが最悪ですね。

一応、上の行がプレイヤーのスプライトを削除するもので、
下の行が現在乗ってる乗り物のスプライトを削除するものです。

が、これはデフォルトからスプライトの順番が変わっていないことが前提になってます。
今回のように隊列歩行のようなスクリプトいれたら競合起こして当然です。

どちらも既にスプライトの作成手順を削除しているので、これも削除してもらって結構です。


修正は以上ですが、分かりにくければそのままでも良いです。
中途半端に「分かる部分だけ修正」ではおかしなことになるので注意してください。
スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://woodpenguin.blog.fc2.com/tb.php/137-1940ee06

トラックバック

コメント

[C189]

早速やってみました。
一応、念のため、飛行タイプ以外も・・・という考えで、

if vehicle != @vehicle のほうにしました

ほか全部削除した段階で きちんと動いています
(念のため「#~」によるコメントアウトという形です)

そういえば、「!=」って、~でない 等しくない って意味すよね
盲点でした・・ そして飛ぶ乗り物の事しか頭になく(爆)

色々気付かされました ありがとうございました!
それと、ご忠告もありがとうございました
  • 2014-11-11 21:48
  • かおばん
  • URL
  • 編集

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

木星ペンギン

Author:木星ペンギン
ほぼツクールのことばかり書いてます。
名前は↑から取りました。
木製ですが木星です。
トカゲは関係ありません。

ゲーム

  • 箱庭の勇者たち(体験版)
  • アクイ ト アイ
  • ぼくらの大革命!
  • 勇者がやらねば俺がやる!
  • 3Turn Battle!
  • 3TurnBattle!2nd 体験版

メールフォーム

wood_penguin@yahoo.co.jp

名前:
メール:
件名:
本文: