ActionScript Class Number Communication - PullRequest
0 голосов
/ 16 марта 2012

Я немного новичок в AS3, но у меня есть вопрос.

У меня есть переменная под названием «жизни». Это число. У меня тоже есть класс. Это называется "Враг". В классе «Враг» есть функция с именем «collision_detection». Как я могу изменить значение «life» с «collision_detection»? Спасибо!

РЕДАКТИРОВАТЬ:

У меня есть класс противника. Мне нужно общаться внутри класса, чтобы основная программа знала, что произошло столкновение. Как я могу отправить это сообщение в основную программу?

РЕДАКТИРОВАТЬ II:

Вот функция столкновения:

public class Enemy extends MovieClip {

    private var hoster : MovieClip; 
    private var life: Number; 

    public function temp_bad_thing(host : MovieClip , lives : Number) {

        this.addEventListener(Event.ENTER_FRAME , check_collision); 

        hoster = host; 
        life = lives; 

        this.y = 0; 
        this.x = Math.floor(Math.random()*(551));


    }

    private function check_collision (evt:Event) : void{

    if(this.hitTestObject(hoster) == true){

        trace('COLLISION'); 

        parent.removeChild(this); 

        removeEventListener(Event.ENTER_FRAME , check_collision); 

        }

    }

}

Теперь, как я могу заставить этот класс изменить значение переменной в моем главном флэш-файле?

1 Ответ

0 голосов
/ 16 марта 2012

Если переменная объявлена ​​в том же package, а не в другом class, вы сможете назначить ее, не делая ничего особенного.

Если она находится в другом классе, тогда объявите lives переменная как static public var lives: Number.Таким образом, вы можете присвоить переменную, используя otherClass.lives.Будет существовать только одна копия переменной static независимо от того, сколько объектов вы создаете.

...