Понедельник, 23 Декабря 2024, 08:25

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
помогите правильно удалять экземпляры класса
VislouhДата: Пятница, 21 Января 2011, 21:35 | Сообщение # 1
частый гость
Сейчас нет на сайте
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.ui.Mouse;


public class Main extends Sprite
{
private var blabla:Loader;

public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var vizovVraga:enemy= new enemy; //это я добавил экземпляр класса( просто красный
addChild(vizovVraga); //кружок нарисованый на graphics
vizovVraga.x = Math.random() * stage.stageWidth; //рандомное положение его на сене
Mouse.hide();
this.blabla = new Loader; //это у меня замена стандартного курсора на свой
this.blabla.load(new URLRequest("./images/ads.png"));
this.addChild(this.blabla);

stage.addEventListener(MouseEvent.MOUSE_MOVE, this.drawcursor);
stage.addEventListener(MouseEvent.CLICK, this.smertVraga); //вот я добавил событие мыши по которому
//созданному экземпляру должен придти шандец)
}
private function drawcursor(Event:MouseEvent):void {
this.blabla.x = Event.stageX
this.blabla.y=Event.stageY
}
private function smertVraga(Event:MouseEvent):void { //f вот и проблемс..здесь по идее ремове
this.removeChild(this.smertVraga); //но нет-выдает ошибку. проклятый экземпляр не хочеть сдохнуть
}



}
}


и в чем моя ошибка? вобще по задумке удаление сего экземпляра должно происходить при наведении на него и клику моего курсора-прицела. обьясните мне пожалусто как это все осуществить


новичок в изучении actionscript 3.0
SoWaДата: Воскресенье, 23 Января 2011, 19:18 | Сообщение # 2
частый гость
Сейчас нет на сайте
this.smertVraga - какой это экземпляр? Это у тебя обработчик события, функция.
stage.addEventListener(MouseEvent.CLICK, this.smertVraga); - это ты обработчик поставил на все поле. Куда ни кликни - везде событие появится.

Самоуничтожение обычно делают так:

Code

private function smertVraga(Event:MouseEvent):void  
{
stage.removeChild(Event.currentTarget);
}

или подобно.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
VislouhДата: Вторник, 25 Января 2011, 16:23 | Сообщение # 3
частый гость
Сейчас нет на сайте
спасибо большое) исправил,все работает)

новичок в изучении actionscript 3.0
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг