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

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

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

Регистрация: Jul 2007
Адрес: Рязанская область.
Сообщений: 42
Отправить сообщение для Edeisys с помощью ICQ
По умолчанию Как сделать hitTest для дубликатов?

Господа! И дамы
Я многократно продублировал мувик с именем kirpich и всем дубликатам дал одинаковое имя - kirpich.
Код:
duplicateMovieClip(kirpich, "kirpich"+i, i);	
setProperty(_root["kirpich"+i], _x, some_x);
setProperty(_root["kirpich"+i], _y, some_y);
setProperty(_root["kirpich"+i], _name, "kirpich");
А другому мувику велел реагировать на hitTest с этим kirpich`ом.
Но он hitTest`ится только с оригинальным исходным kirpich`ом а дубликаты с таким же именем не замечает. Гат.
Как-то это можно исправить?

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
1. при дублировании каждому добавлять свойства для хиттеста
2. написать класс, расширяющий мувиклип и присобачить его к кирпичу
3. написать код в мувике кирпича, тогда все дети получат его.
__________________
"We Are The Champions My Friends!" Queen

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

Регистрация: Jul 2007
Адрес: Рязанская область.
Сообщений: 42
Отправить сообщение для Edeisys с помощью ICQ
Дыкть я пробовал в кирпиче код на hitTest прописывать.
Но у меня этих кирпичей до 350 штук будет появляться. Компутер не потянет все их одновременно на столкновение со вторым мувиком проверять. Вот я и хотел дать всем кирпичам одинаковое имя, чтобы другой мувик с любым кирпичом действовал. Написал в нём

Код:
if (_root.kirpich.hitTest(this._x, this._y, true)) {
bla_bla_bla;
}
но это не работает.
Штоли hitTest проверяется не по _name , а по какому-то другому скрытому имени?
А про классы я не разумею
__________________
Причиняю добро, наношу пользу.

Старый 24.07.2007, 20:46
VovkaMorkovka вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka Найти все сообщения от VovkaMorkovka
  № 4  
Ответить с цитированием
VovkaMorkovka

Регистрация: Apr 2006
Сообщений: 421
Цитата:
А про классы я не разумею
А Вы уразумейте про классы - другого выхода нет
Смотрите, у вас - же кирпичи небось прямоугольной формы, и если и движутся то в пределах некоторой ограниченной области.
Пихаете в массив эти самые кирпичи, потом берете координаты Вашего мувиклипа и проверяете на столкновение с объектом не хит тестом(хиттест ненадежен), а с использованием несложных знаний геометрии прямоугольника оси которого параллальны осям координат . Причем проверяете не все, а только те, которые входят в область. Если все вышеозначенное слишком тяжко - конкретизируйте задачу, поробую помочь

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

Регистрация: Jul 2007
Адрес: Рязанская область.
Сообщений: 42
Отправить сообщение для Edeisys с помощью ICQ
Конкретизирую задачу
У меня кирпичи на сцену разбрасываются в случайном порядке и стоят. А мувик будет между ними двигаться и через них проходить не должен.
А получается вот так вот:
Исходник zip 13 кб.
__________________
Причиняю добро, наношу пользу.

Старый 25.07.2007, 12:54
VovkaMorkovka вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka Найти все сообщения от VovkaMorkovka
  № 6  
Ответить с цитированием
VovkaMorkovka

Регистрация: Apr 2006
Сообщений: 421
Цитата:
Сообщение от Edeisys
Конкретизирую задачу
Конкретизируй еще:
1) Кирпичи одного размера всегда, или потом ты хочешь добавить еще другие кирпичи?
2) Кирпичи могут в будущем налезать друг на друга или не могут?

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

Регистрация: Jul 2007
Адрес: Рязанская область.
Сообщений: 42
Отправить сообщение для Edeisys с помощью ICQ
Я решыл задачу покашто так:
Сделал вспомогательный мувик kladka и в него с помощью attachMovie добавил kirpich`и. Теперь шарик я hitTest`ю со всей кладкой - работает как надо. Но появилась новая проблема. Я для неё новую тему создал:
Не работает onLoad
__________________
Причиняю добро, наношу пользу.

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Так, как вы написали, код будет пытаться хиттестится только с 1 кирпичом. Нужно из кирпича хиттестить шарик, или чего там...
__________________
"We Are The Champions My Friends!" Queen

Старый 25.07.2007, 13:02
VovkaMorkovka вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka Найти все сообщения от VovkaMorkovka
  № 9  
Ответить с цитированием
VovkaMorkovka

Регистрация: Apr 2006
Сообщений: 421
Цитата:
Сообщение от CorC
Нужно из кирпича хиттестить шарик, или чего там...
Если из кирпича хиттестить шарик, то получится то - же количество итераций как и из шарика хиттестить каждый кирпич.
Нужно определять позицию шарика и хиттестить только те кирпичи которые попадают в область окружающую шарик

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

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

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


 


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


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