|
|
|||||
баблинг события
Хочу чтобы объект не давал событий более... А у меня получается события получают все в данных координатах клика мышки
Последний раз редактировалось willis83; 26.02.2011 в 04:25. |
|
|||||
Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
|
было бы не плохо кусочек кода посмотреть, а то получается - у меня болит здесь - почему?
|
|
|||||
Мдя, первый пост весёлый получился, писал будучи в хлам пьяным. Суть в том что над вьюпортом бывает спрайт с листенером на клик, он находится над объектом вьюпорта у которого тоже есть листенер на клик и надо сделать чтобы объект во вьюпорте не принимал клик когда кликаешь по спрайту
Добавлено через 49 минут Вчера по пьяне соображалось вообще ужасно, такие конструкции ворочал, проржался с утра. Сейчас сделал следующим образом, в классе вью порта создал две функции которые убирают и добавляют слушатели к этим объектам. Передал ссылку на вьюпорт в спрайт и при вызове спрайте просто снимаю слушатели с вьюпорта. К слову спрайт вызывается из дочерних классов вьюпорта. Вроде работает, но если есть идеи получше, с удовольствием выслушаю. Последний раз редактировалось willis83; 26.02.2011 в 13:10. |
|
|||||
Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
|
import org.papervision3d.events.InteractiveScene3DEvent; ... vieport.interactive = true;// Нужно сделать вьюпорт интерактивным ... var palneMaterial:ColorMaterial = new ColorMaterial();// делаем материал для объекта planeMaterial.interactive = true;// делаем материал объекта интерактивным, иначе // события срабатывать не будут var plane:Plane = new Plane(planeMaterial);// создаем объект c интерактивным материалом plane.extra = {newTex = "planeTex01.png"};//добавляем в объект свою переменную в данном конкретном случае путь к текстуре var plane2:Plane = new Plane(planeMaterial);// создаем 2й объект c интерактивным материалом plane2.extra = {newTex = "planeTex02.png"}; plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, planeClick);//добавляем слушатель 1 объекту plane2.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, planeClick);//добавляем слушатель 2 объекту private function planeClick(e:InteractiveScene3DEvent):void{ trace("Click по нашему объекту"); var newPlaneMaterial:BitmapFileMaterial = new BitmapFileMaterial(e.DisplayObject3d.extra.newTex, true); newPlaneMaterial.interactive = true; e.DisplayObject3D.material = newPlaneMaterial;//назначаем новый материал объекту под курсором } |
Часовой пояс GMT +4, время: 02:22. |
|
« Предыдущая тема | Следующая тема » |
|
|