首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

动画创作-文字随鼠标缓动的效果

package {

import flash.display.Sprite;

import flash.display.StageAlign;

import flash.display.StageScaleMode;

import flash.display.StageDisplayState;

import flash.events.Event;

import flash.display.MovieClip;

import flash.utils.Timer;

import flash.events.TimerEvent;

import flash.events.MouseEvent;

public class bg extends Sprite {

//构造函数

public function bg():void {

Initialize();

}

//初始化函数

private function Initialize():void {

//设置舞台属性

stage.scaleMode=StageScaleMode.NO_SCALE;

stage.align=StageAlign.TOP_LEFT;

stage.displayState=StageDisplayState.NORMAL;

//设置关键变量

ItemsHolder();

}

private function ItemsHolder():void {

var Layer:int=10;

var Items:int=70;

var Holder:MovieClip=new MovieClip;

var HolderItems:Array=new Array;

stage.addChild(Holder);

//初始化并添加物件

for (var LoopA:int; LoopA

HolderItems[LoopA]=new MovieClip;

Holder.addChild(HolderItems[LoopA]);

for (var LoopB:int; LoopB

var TempItem:IC=new IC;

var Random:Number=Math.random()-.2;

TempItem.x=Math.random()*(LoopA+3)*stage.stageWidth;

TempItem.y=Math.random()*(LoopA+3)*stage.stageHeight;

TempItem.scaleX=.2+Random;

TempItem.scaleY=.2+Random;

TempItem.alpha=Math.random()-.2;

HolderItems[LoopA].addChild(TempItem);

}

LoopB=0;

}

LoopA=0;

ItemsMove();

//元件动画函数

function ItemsMove():void {

var UpdateMove:Timer=new Timer(10,0);

var MoveEasing:int=30;

var LinearRelation:Number;

var MouseX:Number;

var MouseY:Number;

stage.addEventListener(MouseEvent.MOUSE_MOVE,GetMouseLoaction);

UpdateMove.addEventListener(TimerEvent.TIMER,UpdateMoveRun);

UpdateMove.start();

//获取鼠标位置

function GetMouseLoaction(event:MouseEvent):void {

MouseX=event.stageX;

MouseY=event.stageY;

}

//元件位置移动

function UpdateMoveRun(event:TimerEvent):void {

for (var LoopA:int; LoopA

//获取移动基数X

LinearRelation=(stage.stageWidth-HolderItems[LoopA].width)/stage.stageWidth;

//设置移动X

HolderItems[LoopA].x-=(HolderItems[LoopA].x-LinearRelation*MouseX)/MoveEasing;

//获取移动基数Y

LinearRelation=(stage.stageHeight-HolderItems[LoopA].height)/stage.stageHeight;

//设置移动Y

HolderItems[LoopA].y-=(HolderItems[LoopA].y-LinearRelation*MouseY)/MoveEasing;

}

event.updateAfterEvent();

}

}

}

}

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200329A059F700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券