私はここに来たばかりで、少し助けが必要です。基本的に私はパックマンのようなゲームをデザインしていますが、それは Wind in the Willows に基づいている必要があるので、Mole-man です!!
とにかく、私はそれの基本をやった.2Dモグラを作り、彼を動かし、ボタンの押下などに反応させた.そして今、外壁から始めて、壁を機能させようとしている.
エッジの周りに 4 つの長方形を作成し、それらを 1 つの形状にマージして、「outerWalls」と呼びました。私は hitTestObject を使用して動作させようとしましたが、成功しませんでした。
私は、molman.xIncrement = -5 で動作させるためのテストを行いました。これにより、彼は壁に触れることなくすぐに後方に移動します。これは、彼が壁の内側にいて、4つの外壁を全体的に正方形として分類し、彼がすでに理論上の正方形の内側にいるため、彼を外に移動させるためかどうかについて興味がありますか? よくわかりません。いくつかのコードを持っています!!
アクション レイヤー - フレーム 1:
import flash.events.KeyboardEvent;
var moleman = this.addChild(new Moleman_mc());
moleman.x = 100;
moleman.y = 200;
moleman.width = 24;
moleman.height = 24;
moleman.xIncrement = 5;
moleman.yIncrement = 0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, doKeyDown);
function doKeyDown (e:KeyboardEvent):void
{
switch(e.keyCode)
{
case Keyboard.UP:
moleman.xIncrement = 0;
moleman.yIncrement = -5;
moleman.rotation = -90;
break;
case Keyboard.DOWN:
moleman.xIncrement = 0;
moleman.yIncrement = 5;
moleman.rotation = 90;
break;
case Keyboard.LEFT:
moleman.xIncrement = -5;
moleman.yIncrement = 0;
moleman.rotation = 180;
break;
case Keyboard.RIGHT:
moleman.xIncrement = 5;
moleman.yIncrement = 0;
moleman.rotation = 0;
break;
}
}
アクション レイヤー - フレーム 2:
import flash.events.Event;
var collectCounter:int = 0;
moleman.x += moleman.xIncrement;
moleman.y += moleman.yIncrement;
if(moleman.hitTestObject(collect))
{
collectCounter ++;
collect.visible = false;
}
moleman.addEventListener(Event.ENTER_FRAME, wallHit);
function wallHit(event:Event):void
{
if(moleman.hitTestObject(outerWalls))
{
moleman.stop();
}
}
アクション レイヤー - フレーム 3:
gotoAndPlay(2);
さらに、収集 (収集品など) を機能させることができません。計画では、「収集」アイテムを 1 つ収集するたびに、そのアイテムが消え、collectCounter に 1 つ追加しますが、他のすべては表示されたままになります。現在、「コレクト」アイテムを 1 つ集めると、モールマンは停止してその場にとどまり、別のモールマンが現れて続行するため、あまり役に立ちません。これに関するヘルプもいただければ幸いです。どこから取得すればよいかわかりません。
どんな助けでも大歓迎です、私はこれが初めてですが、うまくいくことを願っています:)
すべての助けに感謝します。ジョン。