小さなゲームを作成しようとしています (魅力的なゲームを作成するというよりも、方法を学ぶことが重要です)。次のように再開できます: ユーザーはメニューで建物を選択し、ステージに配置します。新しく作成された建物をクリックすると、アップグレードを選択できます。(クラッシュ・オブ・クランのようなゲームをプレイする人のために、それは私がやろうとしていることです)。メニューがあり、問題なく建物を配置できますが、クリックできません。これが私のコードの始まりです:
var build:int=0; //variable that defines which building to place on stage
menuBuilding.house.addEventListener(MouseEvent.CLICK, fnChooseHouse); //when click on House in Building Menu
function fnChooseHouse (e:Event):void{
build = 1; //building to place is a House.
}
city.addEventListener(MouseEvent.CLICK, mouseClickEvent);
function mouseClickEvent(e: MouseEvent): void {
if (build == 0) { //if building not chosen, do nothing
return
} else if (build == 1) { // if building is a house
var house1: house = new house();
addChild(house1); //add instance of the house
house1.x = stage.mouseX;
house1.y = stage.mouseY; // place the house where I clicked
build = 0; //reset the variable.
house1.mouseChildren=true; //allow instance of house to be clicked.
}
};
私の問題は、たくさんの家 (および他の建物) があることです。私はそれらに名前を付けて配列にプッシュしようとしましたが (for each...in ループでそれらにアクセスできるように)、うまくいきません。
誰かがアイデアを持っていますか?(ちなみに、私はまだAS3を学んでいるので、まだタイムラインにある外部の.asファイルをまだ使用していません)。前もって感謝します :)