使用as3控制帧动画
来源:互联网 发布:免费微信游戏源码 编辑:程序博客网 时间:2024/06/03 04:16
美术同事出了一个资源,大致是这样的:四个角色形象动画,聚在一个台子四周。有一个向左和向右按钮,点击后四个形象分别向对应的方向旋转后将其中一个推到正面,表示当前选中的的角色形象。具体资源是,使用了一个圆形的引导线,每次点击使用逐渐变化的6帧表示这个旋转。4段动画,共计24帧。
尝试一:
我创建了一个代码脚本层,把代码写在第一帧上了。不爽的事情发生了,每次旋转一圈后,这段代码的全局变量就会被重新初始化。。。。。
尝试二:
使用文档类,却发现我这个资源只是库元件。文档类也帮不上我。
尝试三:
额外使用一个MC,将上面的24帧MC元件放在一层中,另外再创建一层放代码,使用引用名字如figureMc来控制这个24帧动画的行为。目前看起来一切正常~~
附代码:
//2011.10.17 xu.cui
rotateFigure.stop();//rotateFigure是旋转动画
var beginFramesArray:Array = [1,7,13,19];//四段动画的起始帧
var endFramesArray:Array = [6,12,18,24];//四段动画的结束帧
var position:int = 0;//标记箭头点击位置(向右加1,向左减1)
var curEndFrame:int = 0;//当前段的动画开始播放后,在哪一帧结束
var direction_isNext:Boolean = true;//标记箭头方位(默认向右)
pre.addEventListener(MouseEvent.CLICK, preClickHandler);
next.addEventListener(MouseEvent.CLICK, nextClickHandler);
function preClickHandler(event:MouseEvent):void{
direction_isNext = false;
position --;
playMc(position);
trace("position:"+position);
}
function nextClickHandler(event:MouseEvent):void{
direction_isNext = true;
position ++;
playMc(position - 1);//因为起始默认值为0,所以需要减1
trace("position:"+position);
}
function figureType():int{
return position % beginFramesArray.length;
}
function playMc(posi:int):void{
var remainder:int = posi % beginFramesArray.length;
if(remainder < 0){
remainder += beginFramesArray.length;
}
if(direction_isNext){
rotateFigure.gotoAndStop(beginFramesArray[remainder]);
curEndFrame = endFramesArray[remainder];
}else{
rotateFigure.gotoAndStop(endFramesArray[remainder]);
curEndFrame = beginFramesArray[remainder];
}
//trace("remainder:" + remainder + ",curEndFram:" + curEndFrame);
rotateFigure.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
function enterFrameHandler(event:Event):void{
//trace("currentFrame:" + rotateFigure.currentFrame);
if(direction_isNext){
rotateFigure.nextFrame();
}else{
rotateFigure.prevFrame();
}
if(rotateFigure.currentFrame == curEndFrame){
rotateFigure.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
}
- 使用as3控制帧动画
- AS3 图片的帧动画实现
- 使用程式码控制动画
- 使用AS3实现旋线运动的动画
- as3 文本渐变动画
- AS3电流动画效果
- [AS3]对象动画
- as3声音控制
- as3音量控制
- AS3 声音控制学习
- as3 声音控制
- AS3控制文本
- as3类开发,场景2帧如何实现控制方法
- unity3d 关键帧控制动画
- 使用JS控制FLASH动画 swf
- UIView下使用Animation控制动画
- UIView下使用Animation控制动画
- 使用动画来控制组件背景色
- 模式识别 - 视频检测器(VideoDetector)项目设计
- 腾讯2014软件开发笔试题目
- 9.6 Regionserver
- mysql_fetch_row(): supplied argument is not a valid MySQL result resource的问题解决方案
- Linux设备模型(1)_基本概念
- 使用as3控制帧动画
- 选择云主机还是自家服务器做网站服务的考虑与分析
- Filezilla无法连接服务器
- jspel输出cookie信息
- Linux设备模型(2)_Kobject
- oracle 字符集乱码本质验证
- POJ 1386 欧拉路径判断
- Linux设备模型(3)_Uevent
- 从svn上的FD项目上构建FB项目