0

私は、それぞれ 3,2,1 のヘルスを持つ赤、緑、青の 3 つの円を作成するゲームに取り組んでいます。ヘルスが 0 に達するとステージから削除され、クリックごとに 1 ずつ減少します。使用しています。 Main.mxml ファイル、Target.as ファイル、RedTarget.as、GreenTarget.as、および BlueTarget.as があります。私の質問は、Target.as ファイルにすべてを設定してからプッシュしたいということです。色、健康状態、それらが死んでいるかどうかなどの詳細は、それらの関数を介して. Target.as で何が必要になるのか、そしてそれぞれに何をコーディングする必要があるのか​​ がわからないため、それを行うのに苦労しています.色付きのターゲット ファイルの.ここに私の Target.as ファイルがあります:

package com.multiClicker {
//import the needed classes
import flash.display.Shape;
import flash.events.MouseEvent;

import spark.components.Image;


public class Target extends Image {

public function Target() {

    //add event listeners
    this.addEventListener(MouseEvent.CLICK, onClick);

}

//sets the hp of the target
public function hp():Number { 
    return hp;
}

//get function that returns false if alpha is <= 0
public function dead():Boolean {

    if(alpha <= 0){
        return false;
    }

    return true;
}

//subtracts one from targets HP when clicked
public function onClick(e:MouseEvent = null):void {


    //subtracts one from hp each click
    hp --;

    if(hp <=0) {
        this.addEventListener(onEnterFrame);
    }

}

//subtracts .1 from the classes alpha
public function onEnterFrame():void{
    this.alpha =- .1;


}

//draws the target
public function drawTarget(color):void {

    var circle:Shape = new Shape();

    circle.graphics.beginFill(color);
    circle.graphics.drawCircle(0,0,30);

}

}
}

そして、RedTarget.as ファイルは、変数でそのようにラベル付けされていることを除いて、青と緑と同じです。

package com.multiClicker {
import flash.events.MouseEvent;
public class RedTarget extends Target{

private var redHP:Number = 3;
private var redDead:Boolean = false;
private var redColor:String = "red";

public function RedTarget()
{

    redHP = hp;
    redDead = dead;
    redColor = color;

    //include the super function
    super();
}

//subtracts one from targets HP when clicked
override public function onClick(e:MouseEvent=null):void {

    super.onClick(e);

    //push all to super
}

}
}

この問題に関するヘルプは素晴らしいでしょう。私は一日中それを理解しようとしていますが、それを理解していません。

4

1 に答える 1

2

Targetオブジェクトを作成するときに、変数を渡す方法を尋ねているだけですか?

public class Target extends Image {

    public function Target(hp:Number, dead:Boolean, color:String) {

        this.hp = hp;
        this.dead = dead;
        this.color = color;

    }

}

次に、次のように各ターゲットをインスタンス化します。

var redTarget:Target = new Target(3, false, "red");
var greenTarget:Target = new Target(2, false, "green");

等...

于 2013-02-07T23:02:16.100 に答える