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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.06.2008, 21:56
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 1  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
По умолчанию Правильное обращение к мувиклипу в классе.

К примеру есть класс:
Код:
class Car extends MovieClip {
	public static var mCar:MovieClip = null;
	public function Car() {
                       mCar = this;
                       _alpha=50;		
	}
}
А во втором классе проверяю прикоснулся ли объект созданный в этом классе к машине.
Код:
if (this.hitTest(Car.mCar)) {
   trace("Car");
}
Правильно ли так проверять ? Или надо как-то подругому объявлять всё ?

Старый 30.06.2008, 22:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Вы понимаете, что mCar всегда ссылается только на последнею созданную машину?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 30.06.2008, 22:08
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 3  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Точно не подумал, а как это можно исправить ?

Старый 30.06.2008, 22:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
if (this.hitTest (ссылка_на_экземпляр_Car)) {
   trace("Car");
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: May 2008
Сообщений: 476
А что Вам мешает сделать mCar обычным методом экземпляра класса, т.е убрать аттрибут static?!
Только вот я не вижу смысла в классе Car. Ведь когда Вы присваиваете ссылку на себя mCar, происходит восходящее приведение. Не лучше ли использовать простой MovieClip.

Oh! iNils как всегда опередил.
__________________
Случайность, господа, это знаете ли непознанная необходимость.


Последний раз редактировалось Alex_beginner; 30.06.2008 в 22:16.
Старый 30.06.2008, 22:17
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от Alex_beginner Посмотреть сообщение
А что Вам мешает сделать mCar обычным методом экземпляра класса, т.е убрать аттрибут static?!
Зачем? Ведь он сам на себя ссылается.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 30.06.2008, 22:23
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 7  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Тогда, простите я не совсем понимаю задачу.

Толи машин много и все они должны проверяться на hitTest, толи машина одна - Car.mCar и она должна тоже хиттеститься или может все по другому. Разъясните мне глупцу.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 30.06.2008, 23:03
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 8  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Машина одна, а много других объектов создаются в другом классе, в котором и проверялось
Код:
if (this.hitTest(Car.mCar)) {
   trace("Car");
}
И у меня появился вопрос, как лучше написать и вообще правильно ли я пишу, оказалось, что нет...

Старый 30.06.2008, 23:26
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 9  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
И это получается, если я создаю экземпляр Car
Код:
var car:Car = Car(this.attachMovie("car", "car", this.getNextHighestDepth(), {_x:440, _y:200}));
То проверять надо так:
Код:
if (this.hitTest (_root.car)) {
   trace("Car");
}
А если и тех и этих объектов много ?

Старый 30.06.2008, 23:29
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
В цикле проверять.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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