AS3随机符号移动循环并带有缓动效果?
创始人
2024-11-11 05:01:16
0

以下是一个示例代码,实现了使用AS3随机生成符号,并在舞台上移动并添加缓动效果的循环。

import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var symbols:Array = []; // 存储生成的符号对象
var symbolNum:int = 5; // 符号数量
var stageWidth:int = stage.stageWidth; // 舞台宽度
var stageHeight:int = stage.stageHeight; // 舞台高度

// 创建符号对象
for (var i:int = 0; i < symbolNum; i++) {
    var symbol:MovieClip = new Symbol(); // Symbol为你的符号库中的影片剪辑
    symbol.x = Math.random() * stageWidth; // 随机生成x坐标
    symbol.y = Math.random() * stageHeight; // 随机生成y坐标
    stage.addChild(symbol);
    symbols.push(symbol);
}

// 监听每帧事件,移动符号
stage.addEventListener(Event.ENTER_FRAME, moveSymbols);

function moveSymbols(event:Event):void {
    for (var i:int = 0; i < symbolNum; i++) {
        var symbol:MovieClip = symbols[i];
        var targetX:Number = Math.random() * stageWidth; // 生成新的目标x坐标
        var targetY:Number = Math.random() * stageHeight; // 生成新的目标y坐标
        var tween:Tween = new Tween(symbol, "x", Regular.easeInOut, symbol.x, targetX, 3, true); // 水平方向缓动
        var tween2:Tween = new Tween(symbol, "y", Regular.easeInOut, symbol.y, targetY, 3, true); // 垂直方向缓动
        tween.addEventListener(TweenEvent.MOTION_FINISH, onTweenFinish);
        tween2.addEventListener(TweenEvent.MOTION_FINISH, onTweenFinish);
    }
}

function onTweenFinish(event:TweenEvent):void {
    var tween:Tween = event.currentTarget as Tween;
    tween.removeEventListener(TweenEvent.MOTION_FINISH, onTweenFinish);
    tween.stop();
    tween = null;
}

在代码中,我们首先创建了一个存储符号对象的数组 symbols,然后使用 for 循环生成指定数量的符号对象,并设置其初始位置为随机生成的 x 和 y 坐标。

接下来,我们在舞台上监听 Event.ENTER_FRAME 事件,每一帧执行 moveSymbols 函数。在 moveSymbols 函数中,我们通过遍历符号数组,为每个符号生成新的目标 x 和 y 坐标,并使用 Tween 类来实现缓动效果移动符号。移动完成后,我们监听 TweenEvent.MOTION_FINISH 事件,并在事件处理函数中将 Tween 对象从内存中移除。

这样,符号对象就会随机移动,并且带有缓动效果。

相关内容

热门资讯

安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
app安卓系统登录不了,解锁登... 最近是不是你也遇到了这样的烦恼:手机里那个心爱的APP,突然就登录不上了?别急,让我来帮你一步步排查...
安卓系统拦截短信在哪,安卓系统... 你是不是也遇到了这种情况:手机里突然冒出了很多垃圾短信,烦不胜烦?别急,今天就来教你怎么在安卓系统里...
windows官网系统多少钱 Windows官网系统价格一览:了解正版Windows的购买成本Windows 11官方价格解析微软...
安卓系统如何卸载app,轻松掌... 手机里的App越来越多,是不是感觉内存不够用了?别急,今天就来教你怎么轻松卸载安卓系统里的App,让...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
安卓系统要维护多久,安卓系统维... 你有没有想过,你的安卓手机里那个陪伴你度过了无数日夜的安卓系统,它究竟要陪伴你多久呢?这个问题,估计...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
安卓系统应用怎么重装,安卓应用... 手机里的安卓应用突然罢工了,是不是让你头疼不已?别急,今天就来手把手教你如何重装安卓系统应用,让你的...