ツミオ
ユーザー
いつもお世話になっております。
【質問】
現在、自作した新しいシーンに歩行グラフィック(マップ画面のイベントとかのことです)を表示させ、そのグラフィックに足踏みアニメをつけようと思っています。
そこでまずScene_Baseのprototypeを使って空のシーンを作りました。
次に歩行グラフィックを表示するために、作った空のシーンのinitializeメソッドに以下のようなコードを書いてみました。
ActionGame_MiniCharacterとは、Game_CharacterBase.prototypeを使って作ったクラスで、initializeメソッドは以下のようなものです。
これでひとまず下図のように歩行キャラクターが表示されるのですが(「ああああ」という文字は無視してください)、this.setStepAnime(true);にしているにもかかわらず、キャラクターは何の動作も示しません(足踏みアニメが表示されることを期待しています)。
例えばSprite_Actorを画面に表示する場合、startMotion('walk');などとすれば勝手に歩行アニメが表示されていたので、その感覚でいけるかなあと思っていたのですが……(下図のような感じです)。
色々と原因を考えていたのですが、スプライトに対する操作は問題なくおこなえているので(下図のようにキャラクターの色調を変えたり、Sprite_ActorにstartMotionを指定したりすることです)、Game_CharacterBase.prototype(今回はActionGame_MiniCharacterです)での設定そのものか、設定をスプライトに反映させる方法がマズイ(勝手に歩行してくれると思っていたので、特にupdateなどはいじっていません)のかなあと考えています。
実際、シーンの中で
などと値をいじってみても何の反応も示しませんでした(向きが変わることを期待している)。
【まとめ】
長くなりましたので、最後にまとめておきます。
「新しく作ったシーンの中で足踏みアニメを表示させる方法」をご存知の方がいましたら、教えていただけませんでしょうか。
以上、よろしくお願いいたします。
【質問】
現在、自作した新しいシーンに歩行グラフィック(マップ画面のイベントとかのことです)を表示させ、そのグラフィックに足踏みアニメをつけようと思っています。
そこでまずScene_Baseのprototypeを使って空のシーンを作りました。
次に歩行グラフィックを表示するために、作った空のシーンのinitializeメソッドに以下のようなコードを書いてみました。
コード:
Scene_Base.prototype.initialize.call(this);
//ここからキャラの生成
this.mini_caharacter_ruka = new ActionGame_MiniCharacter("Ruka", 10, 10);
this.sprite_mini_character_ruka = new Sprite_Character(this.mini_caharacter_ruka);
this.addChild(this.sprite_mini_character_ruka);
ActionGame_MiniCharacterとは、Game_CharacterBase.prototypeを使って作ったクラスで、initializeメソッドは以下のようなものです。
コード:
ActionGame_MiniCharacter.prototype.initialize = function(character_name,x,y) {
Game_CharacterBase.prototype.initialize.call(this);
//基本的な設定
this.setImage(character_name, 0);
this._originalDirection = 4;
this._originalPattern = 2;
this._stepAnime = true;
//場所と向き初期化
this.locate(x,y);
this.setDirection(this._originalDirection);
this.setPattern(this._originalPattern);
//移動速度など設定
this.setMoveSpeed(3);
this.setMoveFrequency(3);
this.setStepAnime(this._stepAnime);
};
これでひとまず下図のように歩行キャラクターが表示されるのですが(「ああああ」という文字は無視してください)、this.setStepAnime(true);にしているにもかかわらず、キャラクターは何の動作も示しません(足踏みアニメが表示されることを期待しています)。
例えばSprite_Actorを画面に表示する場合、startMotion('walk');などとすれば勝手に歩行アニメが表示されていたので、その感覚でいけるかなあと思っていたのですが……(下図のような感じです)。
色々と原因を考えていたのですが、スプライトに対する操作は問題なくおこなえているので(下図のようにキャラクターの色調を変えたり、Sprite_ActorにstartMotionを指定したりすることです)、Game_CharacterBase.prototype(今回はActionGame_MiniCharacterです)での設定そのものか、設定をスプライトに反映させる方法がマズイ(勝手に歩行してくれると思っていたので、特にupdateなどはいじっていません)のかなあと考えています。
実際、シーンの中で
コード:
this.mini_caharacter_ruka._originalDirection = 0;
this.mini_caharacter_ruka.setDirection(0);
【まとめ】
長くなりましたので、最後にまとめておきます。
「新しく作ったシーンの中で足踏みアニメを表示させる方法」をご存知の方がいましたら、教えていただけませんでしょうか。
以上、よろしくお願いいたします。