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

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

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

Регистрация: Aug 2010
Сообщений: 99
По умолчанию удаление объекта

добрый день!
раздуплите чуток
обьекты движутся по экрану в одном направлении (каждому обьекту цепляется EnterFrame)
Код AS3:
function animate(e:Event):void
{
    e.target.x -= 2;
}
мне нужно чтоб при достижении обьектом координаты х=50 он удалялся. что-то вроде такого, только такое не работает
Код AS3:
function animate(e:Event):void
{
   e.target.x -= 2;
   for (var i:int = 0; i<100; i++)
     {
         if(home.getChildAt(i).x <50)
         {
             removeChild(i);
         }
     }
}

Старый 29.09.2010, 15:45
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 2  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
странно вы как то написали:
Код AS3:
function animate(e:Event):void
{
   e.target.x -= 2;
   for (var i:int = 0; i<100; i++)
     {
         if(home.getChildAt(i).x <50)
         {
             removeChild(i);
         }
     }
}
а как у вас получается что вы ищите в одном:
Код AS3:
home.getChildAt(i)
а удаляете из другого
Код AS3:
removeChild(i);
объекта
__________________
Коллекционирую чужие ActionScript Блоги

Старый 29.09.2010, 15:46
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 3  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
что вы тут вообще удаляете?
Код AS3:
removeChild(i)
__________________
freelance | Раздор

Старый 29.09.2010, 15:47
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 4  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
помойму хватит вот этого судя по логике:
Код AS3:
 
function animate(e:Event):void
{
   e.target.x -= 2;
   if(e.target.x <50)
   {
         removeChild(e.target);
   }
}
Добавлено через 1 минуту
да и кстати чтоб удалять по индексу надо использовать метод
Код AS3:
removeChildAt(i)
__________________
Коллекционирую чужие ActionScript Блоги

Старый 29.09.2010, 16:01
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 5  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
когда не знаешь чего откуда удалить, то логичнее сделать так:

Код AS3:
function animate(e:Event):void
{
var item:DisplayObject = e.target as DisplayObject; // зачем дергать геттер в хендлере каждый раз?
   item.x -= 2;
   if(item.x <50)
   {
if(item.parent){
          item.parent.removeChild(item);
}
 
   }
}
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью


Последний раз редактировалось cleptoman; 29.09.2010 в 18:14.
Старый 29.09.2010, 16:32
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 6  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
Вот сделал пример, может быть вам будет полезно: http://www.flasher.ru/forum/attachme...1&d=1285759916

На самом деле пример делает больше, чем вы описали, надеюсь, что вы в нём не сильно запутаетесь.
Вложения
Тип файла: zip MovableObjects.zip (18.1 Кб, 64 просмотров)


Последний раз редактировалось koIIImarik; 29.09.2010 в 16:36.
Старый 29.09.2010, 16:42
sanyasanya вне форума Посмотреть профиль Отправить личное сообщение для sanyasanya Найти все сообщения от sanyasanya
  № 7  
Ответить с цитированием
sanyasanya

Регистрация: Aug 2010
Сообщений: 99
Цитата:
Сообщение от random13 Посмотреть сообщение
помойму хватит вот этого судя по логике:
Код AS3:
function animate(e:Event):void
{
   e.target.x -= 2;
   if(e.target.x <50)
   {
         removeChild(e.target);
   }
}
1118: Implicit coercion of a value with static type Object to a possibly unrelated type flash.displayisplayObject.

Добавлено через 2 минуты
Цитата:
Сообщение от cleptoman Посмотреть сообщение
когда не знаешь чего откуда удалить, то логичнее сделать так:
Код AS3:
function animate(e:Event):void
{
var item:DisplayObject = e.target as DIsplayObject; // зачем дергать геттер в хендлере каждый раз?
   item.x -= 2;
   if(item.x <50)
   {
if(item.parent){
          item.parent.removeChild(item);
}
 
   }
}
1120: Access of undefined property DIsplayObject. var itemisplayObject = e.target as DIsplayObject;
1118: Implicit coercion of a value with static type Object to a possibly unrelated type flash.displayisplayObject.

Старый 29.09.2010, 17:20
AlesNormales вне форума Посмотреть профиль Отправить личное сообщение для AlesNormales Найти все сообщения от AlesNormales
  № 8  
Ответить с цитированием
AlesNormales

Регистрация: Aug 2010
Сообщений: 74
AS чувствителен к регистру. DisplayObject это ого-го!,
а DIsplayObject оно не понимает.

Старый 29.09.2010, 17:30
sanyasanya вне форума Посмотреть профиль Отправить личное сообщение для sanyasanya Найти все сообщения от sanyasanya
  № 9  
Ответить с цитированием
sanyasanya

Регистрация: Aug 2010
Сообщений: 99
оо а я и не заметил.. всем спасибо!!!

еще, раз уж все собрались как в текстовое поле pole вывести количество фпс на данный момент?

Старый 29.09.2010, 18:13
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 10  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
ну, соре, писал прямо тут )

по последнему вопросу: stage.frameRate
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

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

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


 


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


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