レス数:1 / 状態:未解決 / No:111 / ATOM
1
名前:六郎丸
日付:2013/05/23(木)19:40:21
ID:SJFs97U7hXV/
flashアクションスクリプトに関する質問です。
mamameさんの
「アクションスクリプト講座」の見本を使って、
小中学生向け男女共同参画啓発ゲーム「ジェンダー城の冒険」
というものを作成いたしました。下記からご覧いただけます。
http://danjo.city.kashiwa.lg.jp/wm/G-castle/top.htm
しかしこの中で、
「プレイヤーキャラクターがヒットエリアをつき抜けてしまう」
バグが修正できません。
掲載元:http://isvalid.jp/actionscriptLab/game/action/hiyo08.html
実際のスクリプト:
--------------------------------------------------------------------------
onClipEvent(load) {
//ヒヨコの動く速さを設定。キーを一回押すにつき移動する距離(px)
hiyoSpeed = 10;
}
onClipEvent(enterFrame) {
//変数movingMapはマップが移動中ヒヨコを動かせなくするための変数
//マップ静止時false、マップ移動時true
if (go == true && movingMap == false) {
if (Key.isDown(Key.UP)) {
num = 1;
this.gotoAndStop("back");
this._y -= hiyoSpeed;
} else if(Key.isDown(Key.DOWN)) {
num = 4;
this.gotoAndStop("front");
this._y += hiyoSpeed;
} else if(Key.isDown(Key.RIGHT)) {
this.gotoAndStop("right");
num =2;
this._x += hiyoSpeed;
} else if (Key.isDown(Key.LEFT)){
num = 3;
this.gotoAndStop("left");
this._x -= hiyoSpeed;
}
}
//ヒヨコの位置(MCmapの座標軸)を見てダミームービークリップの位置(シーン1の座標軸)を決める
if((this._x >= 580 && this._x<=620) || (this._x >= 1180 && this._x <= 1220)) {
//横に移動するためのファンクション(メインタイムラインの2フレーム目で設定してあります)
_root.slideHorizontality( );
}
if ((this._y >= 380 && this._y<=420) || (this._y>=780 && this._y<=820)) {
//縦に移動するためのファンクション(メインタイムラインの2フレーム目で設定してあります)
_root.slideVerticality( );
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMin, _parent.hiyo.getBounds(_root).yMin, true)) {
this._x -= hiyoSpeed;
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMin, _parent.hiyo.getBounds(_root).yMax, true)) {
this._y += hiyoSpeed;
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMax, _parent.hiyo.getBounds(_root).yMin, true)) {
this._y -= hiyoSpeed;
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMax, _parent.hiyo.getBounds(_root).yMax, true)) {
this._x += hiyoSpeed;
}
}
--------------------------------------------------------------------------
一部スクリプトを修正して左・下方向への突き抜けは修正できましたが、
右・上方への突き抜けが修正できません。
作者のmamameさんに問い合わせましたが返事がありません。
どなたかプログラミングの専門家でお分かりになる方がいらっしゃいましたらヒントだけでもご教示ください。
使用環境は制作にMX2004、修正に CS4です。
それでは、お返事をお待ち申し上げます。
mamameさんの
「アクションスクリプト講座」の見本を使って、
小中学生向け男女共同参画啓発ゲーム「ジェンダー城の冒険」
というものを作成いたしました。下記からご覧いただけます。
http://danjo.city.kashiwa.lg.jp/wm/G-castle/top.htm
しかしこの中で、
「プレイヤーキャラクターがヒットエリアをつき抜けてしまう」
バグが修正できません。
掲載元:http://isvalid.jp/actionscriptLab/game/action/hiyo08.html
実際のスクリプト:
--------------------------------------------------------------------------
onClipEvent(load) {
//ヒヨコの動く速さを設定。キーを一回押すにつき移動する距離(px)
hiyoSpeed = 10;
}
onClipEvent(enterFrame) {
//変数movingMapはマップが移動中ヒヨコを動かせなくするための変数
//マップ静止時false、マップ移動時true
if (go == true && movingMap == false) {
if (Key.isDown(Key.UP)) {
num = 1;
this.gotoAndStop("back");
this._y -= hiyoSpeed;
} else if(Key.isDown(Key.DOWN)) {
num = 4;
this.gotoAndStop("front");
this._y += hiyoSpeed;
} else if(Key.isDown(Key.RIGHT)) {
this.gotoAndStop("right");
num =2;
this._x += hiyoSpeed;
} else if (Key.isDown(Key.LEFT)){
num = 3;
this.gotoAndStop("left");
this._x -= hiyoSpeed;
}
}
//ヒヨコの位置(MCmapの座標軸)を見てダミームービークリップの位置(シーン1の座標軸)を決める
if((this._x >= 580 && this._x<=620) || (this._x >= 1180 && this._x <= 1220)) {
//横に移動するためのファンクション(メインタイムラインの2フレーム目で設定してあります)
_root.slideHorizontality( );
}
if ((this._y >= 380 && this._y<=420) || (this._y>=780 && this._y<=820)) {
//縦に移動するためのファンクション(メインタイムラインの2フレーム目で設定してあります)
_root.slideVerticality( );
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMin, _parent.hiyo.getBounds(_root).yMin, true)) {
this._x -= hiyoSpeed;
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMin, _parent.hiyo.getBounds(_root).yMax, true)) {
this._y += hiyoSpeed;
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMax, _parent.hiyo.getBounds(_root).yMin, true)) {
this._y -= hiyoSpeed;
}
if (_parent.hitField.hitTest(_parent.hiyo.getBounds(_root).xMax, _parent.hiyo.getBounds(_root).yMax, true)) {
this._x += hiyoSpeed;
}
}
--------------------------------------------------------------------------
一部スクリプトを修正して左・下方向への突き抜けは修正できましたが、
右・上方への突き抜けが修正できません。
作者のmamameさんに問い合わせましたが返事がありません。
どなたかプログラミングの専門家でお分かりになる方がいらっしゃいましたらヒントだけでもご教示ください。
使用環境は制作にMX2004、修正に CS4です。
それでは、お返事をお待ち申し上げます。
このスレッドについて
質問の状態 : | 未解決 |
投稿開始日 : | 2013/05/23(木)19:40:21 |
投稿終了日 : | 2013/05/30(木)19:41:03 |
投稿者 : | 六郎丸 |
レス総数 : | 1 |
スレッド番号 : | 111 |