|
|
|||||
Регистрация: Jun 2011
Сообщений: 9
|
не успевает сработать CLICK
чето както неуспевает click сработать, стоит таймер на 100 милисекунд, он крутит карусельку(3Д которая),
и недает обработать своевременно click у Loader-а, да чего уж там, вот код: //////////////////////////////////////////////////////////////////////////////////////////////// //это класс картинок, ага:), со слушателем CLICK package { import flash.display.Loader; import flash.net.URLRequest; import flash.events.MouseEvent; public class imageClass extends Loader { public var indx:int; public function imageClass() { this.addEventListener(MouseEvent.CLICK,onClicked); } public function LoadImage(filename:String):void { this.load(new URLRequest(filename)); } private function onClicked(ev:MouseEvent) { trace("clicked.."); } } } //////////////////////////////////////////////////////////////////////////////////////////////////////////// import flash.events.Event; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.MouseEvent; //////////MovieClip////////////// stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMovieFunc); btn_1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler); var pImage=new Array(30); var Ir:int=0; /////////////////////////// var posAnim=1.0; var RadiusX=200; var RadiusY=60; var Scale=0.3; var PosX=0; var PosY=0; /////////////////////////////// var myTimer:Timer=new Timer(100); function fl_MouseClickHandler(event:MouseEvent):void { myTimer.addEventListener(TimerEvent.TIMER,anime); for(var i=0;i<30;i++) { pImage[i]=new imageClass(); pImage[i].LoadImage("ava.gif"); addChild(pImage[i]); pImage[i].indx=i; pImage[i].contentLoaderInfo.addEventListener(Event.COMPLETE,compl); } } /////////////////////////// var ssp=0; var r=0; function anime(event:Event):void {var ScalePrev=0; for(var i=0;i<30;i++) { pImage[i].x=PosX+RadiusX*Math.sin(posAnim+i*12*2*Math.PI/360); pImage[i].y=PosY+RadiusY*Math.cos(posAnim+i*12*2*Math.PI/360); Scale=pImage[i].y/(PosY+RadiusY); pImage[i].content.scaleX=Scale*0.1; pImage[i].content.scaleY=Scale*0.1; } //Sort the array so that the item which has the highest //z position (= furthest away) is first in the array var qrp=pImage.sortOn("y", Array.NUMERIC); //Set new child indexes for the item for (var i:uint = 0; i < pImage.length; i++) { setChildIndex(pImage[i], i);} posAnim+=r*0.05; } var sPos=0; var tPos=0; function compl(event:Event):void { var s=event.currentTarget.loader as Loader; s.content.scaleX=0.1; s.content.scaleY=0.1; PosX=stage.stageWidth/2; PosY=stage.stageHeight/2-100; sPos=PosX+RadiusX; tPos=PosX-RadiusX; myTimer.start(); btn_1.visible=false; } //////////////MOUSE MOVIE FUNCTION////////////// function mouseMovieFunc(e:MouseEvent):void { if(e.stageX<sPos && e.stageX>tPos) { if(e.stageX>PosX) r=e.stageX/sPos; else if(e.stageX<PosX){ r=tPos/e.stageX; if(r>0.0)r=-r; } } } |
|
|||||
strange mood
|
Так вам никто не подскажет.
1. Вопрос неясен. Что значит "не успевает сработать click"? В чем это выражается, что происходит? И что должно происходить, если бы он успевал сработать? 2. Неясно, что в приведенном коде относится к делу, а что - нет. Неясно, в каком кадре какого мувика написан код после класса, или может там разные куски в разных местах? Если не можете выделить проблемные участки кода, то хотябы выложите сам исходник.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
Регистрация: Jun 2011
Сообщений: 9
|
Что значит "не успевает сработать click"?
что не успевает сработать событие которое я ему назначил - после клика по обьекту И что должно происходить, если бы он успевал сработать? чтото вроде - 2. Неясно, что в приведенном коде относится к делу, а что - нет. Неясно, в каком кадре какого мувика написан код после класса, или может там разные куски в разных местах? Если не можете выделить проблемные участки кода, то хотябы выложите сам исходник. согласен, да, хардкорно запостил код, каюсь. ну вроде как разобрался, хотя это и неназвать разобрался, кароче заменил на ииии, все заработало, а вот почему с CLICK неработало, я так и не осознал:'( там если присмотреться, можно такой участок узреть: myTimer.addEventListener(TimerEvent.TIMER,anime); function anime(event:Event):void {var ScalePrev=0; for(var i=0;i<30;i++) { pImage[i].x=PosX+RadiusX*Math.sin(posAnim+i*12*2*Math.PI/360); pImage[i].y=PosY+RadiusY*Math.cos(posAnim+i*12*2*Math.PI/360); Scale=pImage[i].y/(PosY+RadiusY); pImage[i].content.scaleX=Scale*0.1; pImage[i].content.scaleY=Scale*0.1; } //Sort the array so that the item which has the highest //z position (= furthest away) is first in the array var qrp=pImage.sortOn("y", Array.NUMERIC); //Set new child indexes for the item for (var i:uint = 0; i < pImage.length; i++) { setChildIndex(pImage[i], i);} posAnim+=r*0.05; } кликать мыш с частотой ~ 50 Hzтогда событие случалось. |
|
|||||
Lorem ipsum
|
Мы здесь говорим о клике по движущемуся объекту? Если нет — не обращай внимания на мой пост
Если да — может из-за того, что все мельтешит, это нельзя считать кликом? Координаты при MOUSE_DOWN и MOUSE_UP в контексте быстро движущегося объекта не позволяют связать их в "клик". Добавлено через 1 минуту А ну и собственно рецепт, если я все правильно понял: замени CLICK на MOUSE_UP.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Jun 2011
Сообщений: 9
|
ага
Цитата:
Цитата:
магнитная буря неиначе |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
__________________
Загружаем картинки, минуя ошибки безопасности |
Часовой пояс GMT +4, время: 01:31. |
|
« Предыдущая тема | Следующая тема » |
|
|