|
|
|||||
Регистрация: Apr 2010
Сообщений: 1
|
Псевдо 3d вращение на AS3
Хотела спросить, нет ли у кого идей по вращению объекта мышью путем перемещения по кадрам временной шкалы?
Отличный пример на AS2 разобран здесь http://www.flasher.ru/forum/showthread.php?t=135043 но нужен аналог на AS3. Почти то что нужно описано на демиарте http://demiart.ru/forum/index.php?showtopic=120424&st=0 код привожу ниже, но там мувик с кадрами с анимации вращения и мувик с кодом представляют собой два файла, где в мувик с кодом грузится флэшка с кадрами. Это не совсем то. Надо, чтоб было точь в точь как в примере выше - все в одном файле. Есть идеи? CODE package com{ import flash.display.*; import flash.events.*; import flash.net.URLRequest; /** * ... * @author MOHCTEP */ public class Main extends MovieClip { private var holder:Sprite; private var img:MovieClip; private var frames:int; private var oldX:Number; private var speedInFrames:Number; // public function Main() { addChild(holder = new Sprite()); var ldr:Loader = new Loader(); var url:URLRequest = new URLRequest('necke.swf'); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoading); ldr.load(url); } // private function completeLoading(e:Event) { img = e.target.content as MovieClip; holder.addChild(img); img.stop(); img.x = (stage.stageWidth - img.width) / 2; img.y = 10; frames = img.totalFrames; speedInFrames = img.width / frames/2; holder.addEventListener(MouseEvent.MOUSE_DOWN, mouseList); holder.addEventListener(MouseEvent.MOUSE_UP, mouseList); } // private function mouseList(e:MouseEvent):void { //mouseMove mouseDown mouseUp mouseOut switch(e.type) { case 'mouseDown': e.target.addEventListener(MouseEvent.MOUSE_MOVE, mouseList); e.target.addEventListener(MouseEvent.MOUSE_OUT, mouseList); oldX = e.localX; break; case 'mouseMove': var step:int = int((e.localX - oldX) / speedInFrames); if (step) { var diff:Number = step / Math.abs(step); var cf = img.currentFrame+ diff; cf = cf<=0?frames:cf>frames?1:cf; img.gotoAndStop(cf); oldX = e.localX; } break; default: e.target.removeEventListener(MouseEvent.MOUSE_MOVE, mouseList); e.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseList); break; } } // } } |
Часовой пояс GMT +4, время: 21:43. |
|
« Предыдущая тема | Следующая тема » |
Теги |
AS3 , вращение , псевдо 3d |
|
|