Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.05.2011, 01:49
Sailoc вне форума Посмотреть профиль Отправить личное сообщение для Sailoc Найти все сообщения от Sailoc
  № 1  
Ответить с цитированием
Sailoc

Регистрация: Feb 2011
Сообщений: 8
По умолчанию как удалить e.target?

Приветствую всех, ребят помогите, не могу понять!
есть код:
Код AS1/AS2:
addBall_btn.addEventListener (MouseEvent .CLICK , addBall);
  function addBall(e:MouseEvent ):void {
	var ball:MovieClip = new Ball();
	if(ballDenied){
	addChild (ball);
	ball.x=mouseX ;
	ball.y=mouseY ;
	addBall_btn.removeEventListener (MouseEvent .CLICK , addBall);
 
	ball.addEventListener (Event .ENTER_FRAME , moveBall);
	}
	}
function moveBall(e:Event ):void {
	ballDenied=false;
	e.target.y+=gravity;
	if (e.target.y > 400){
 
		removeChild (e.target );//как удалить e.target????	
	}
	}
как удалить экземпляр ball, командой removeChild(ball), пишет что класс ball не найден, а если
removeChild (e.target ) то пишет Неявное исправление значения статического типа Object на возможный несвязанный тип flash.displayisplayObject.

как быть,подскажите знающие люди)

Старый 27.05.2011, 02:21
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вам серьезно так удобно форматировать? Это ж пытка такое читать...
Но ошибка происходит гораздо раньше, и код вообще не компилируется, т.как не знает, где искать класс Ball. а то, что не удаляется - ну, просто Flash может "скомпилировать" и с ошибками. Чего у него в таком случае получается - я не знаю, но, скорее всего, в вашем случае, там просто нет кода... Вобщем, найдите Ball, или проверьте правильность написания.
__________________
Hell is the possibility of sanity

Старый 27.05.2011, 10:56
Sailoc вне форума Посмотреть профиль Отправить личное сообщение для Sailoc Найти все сообщения от Sailoc
  № 3  
Ответить с цитированием
Sailoc

Регистрация: Feb 2011
Сообщений: 8
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Вам серьезно так удобно форматировать? Это ж пытка такое читать...
Но ошибка происходит гораздо раньше, и код вообще не компилируется, т.как не знает, где искать класс Ball. а то, что не удаляется - ну, просто Flash может "скомпилировать" и с ошибками. Чего у него в таком случае получается - я не знаю, но, скорее всего, в вашем случае, там просто нет кода... Вобщем, найдите Ball, или проверьте правильность написания.
Код AS1/AS2:
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.Event;
 
//Переменная содержит в себе очки
var scores:Number = 0 ;
//Переменная определяет гравитацию
var gravity:Number = 12;
//Отображение очков
scores_txt.text = String (scores);
//Переменная разрешающая появление мячика
var ballDenied:Boolean = true;
 
 
//Работа миниигры
addBall_btn.addEventListener (MouseEvent .CLICK , addBall);
 
//Функция добавляеи в игру мячики, и создает движение вниз
function addBall(e:MouseEvent ):void {
	var ball:MovieClip = new Ball();
	if(ballDenied){
		addChild (ball);
		ball.x=mouseX ;
		ball.y=mouseY ;
		addBall_btn.removeEventListener (MouseEvent .CLICK , addBall);
		ball.addEventListener (Event .ENTER_FRAME , moveBall);
		}
	}
function moveBall(e:Event ):void {
	ballDenied=false;
	e.target.y+=gravity;
	if (e.target .hitTestObject(varota)){
		scores++;
		scores_txt.text = String (scores);
		}
	if (e.target.y>500){
		ballDenied=true;
		addBall_btn.addEventListener (MouseEvent .CLICK , addBall);
		removeChild (e.target );
		}
 
	}
Код работает без removeChild (e.target ), так как удалить ball со сцены когда он выходит за пределы 500 по Y?

Старый 27.05.2011, 11:17
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 4  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Код AS3:
removeChild(e.target as MovieClip);
Только от событий надо отписать.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 27.05.2011, 11:29
Sailoc вне форума Посмотреть профиль Отправить личное сообщение для Sailoc Найти все сообщения от Sailoc
  № 5  
Ответить с цитированием
Sailoc

Регистрация: Feb 2011
Сообщений: 8
Цитата:
Сообщение от DaFive Посмотреть сообщение
Код AS3:
removeChild(e.target as MovieClip);
Только от событий надо отписать.
Поясните пожалуйста, че то я не понял что вы имеете ввиду?

Старый 27.05.2011, 11:29
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 6  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
removeEventListener перед удалением.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 27.05.2011, 12:05
Sailoc вне форума Посмотреть профиль Отправить личное сообщение для Sailoc Найти все сообщения от Sailoc
  № 7  
Ответить с цитированием
Sailoc

Регистрация: Feb 2011
Сообщений: 8
Цитата:
Сообщение от DaFive Посмотреть сообщение
removeEventListener перед удалением.
Спасибо тебе огромное!!!!

Старый 27.05.2011, 14:47
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 8  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Ну а ошибка в removeChild(ball), в том, что переменная ball - локальная для функции addBall и в moveBall не видна.
__________________
Отряд Котовскага

Старый 27.05.2011, 15:24
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 9  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Котяра, не, ошибка не в том была. Ошибка вваливалась, когда он просто грохнуть хотел e.target.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 27.05.2011, 18:09
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 10  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Я умею читать:
Цитата:
как удалить экземпляр ball, командой removeChild(ball), пишет что класс ball не найден
__________________
Отряд Котовскага

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:37.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.