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

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

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

Регистрация: Apr 2011
Сообщений: 13
По умолчанию Изменить значение переменной соответствующей объекту на сцене

Здравствуйте. Ситуация такая: на сцену переодически добовлется объект А которому случайным образом присваивается изображение В или С . На сцене одновременно порядка 10 объектов А. В зависимости от изображения переменная D имеет разные значения, например:
Код AS3:
if(A==B){D=2;}
if(A==C){D=4;}
Далее при возникновении события мы находим нужным нам объект, и получаем значение переменной D от которой нам нужно отнять например 2:

ВОПРОС: как сделать, что бы изменилось значение только для одного объекта на сцене, т.е у остальных объектов значание переменной D осталось неизмененным??
Сразу прошу прощение за некоректную терминологию, если необходимо - напишу более подробный пример.

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Подозреваю, что примерно так должен выглядеть класс вашего объекта A:
Код AS3:
public class A {
 
    // Добавлять картинки можно и иными способами
    [Embed(source = 'B.png')] private var BPicture:Class;
    [Embed(source = 'C.png')] private var CPicture:Class;
 
    // Переменные экземпляра
    public var D:int;
    private var picture:Bitmap;
 
    // Конструктор
    public function A (initPicture:String) 
    {
        if (initPicture == "B") {
            picture = new BPicture();
            D = 2;
        }
        else if (initPicture == "C") {
            picture = new CPicture();
            D = 4;
        }
    }
}


Последний раз редактировалось bav; 20.05.2011 в 13:34.
Старый 20.05.2011, 14:43
ndez вне форума Посмотреть профиль Отправить личное сообщение для ndez Найти все сообщения от ndez
  № 3  
Ответить с цитированием
ndez

Регистрация: Apr 2011
Сообщений: 13
Вот как то так:
Код AS1/AS2:
public class AAA {
 
    // Добавлять картинки можно и иными способами
    [Embed(source = 'B.png')] private var BPicture:Class;
    [Embed(source = 'C.png')] private var CPicture:Class;
 
    // Переменные экземпляра
    public var D:int;
    private var A:Bitmap;
    private var xxx:int;
 
 
    // Конструктор
    public function AAA () {
    xxx = Math.random() * 2;
 
        if (xxx == 0) {
           A = new BPicture();
            D = 2;
        }
        else if (xxx == 1) {
            A = new CPicture();
            D = 4;
        }
     addChild(A);
     addEventListener(Event.ENTER_FRAME, BBB);
 
    }
 
    private function BBB(event:Event):void {
 
    //Проверка на случай возникновения события
 
    i = 0;
 
    while (i < A.numChildren) {
 
       if(A.getChildAt(i).x>640){
 
      D-=2;
      //Задача в том, что бы D изменилось только для А на глубине i, а для других объектов A оставались неизменным до возникновения события
     }
 
    }
}


Последний раз редактировалось ndez; 20.05.2011 в 14:59. Причина: не ту кнопку нажал
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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