早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求几个as3代码每十分钟就转到下一帧并使变量sj+1在元件里写一段代码:用速度为1去接近主舞台上的实例player当变量sj=1时,在舞台上随机时间随机地点生成元件并赋予实例名(代码中元件用“

题目详情
求几个as3代码
每十分钟就转到下一帧并使变量sj+1
在元件里写一段代码:用速度为1去接近主舞台上的实例player
当变量sj=1时,在舞台上随机时间随机地点生成元件并赋予实例名(代码中元件用“元件”代替,实例用“实例”代替.
变量sj已经声明了
▼优质解答
答案和解析
每十分钟就转到下一帧并使变量sj+1:
import flash.utils.Timer;
import flash.events.TimerEvent;
stop();//使舞台停在第一帧,不然主舞台会自动播放
var sj:int;
var timer:Timer = new Timer(10*60*1000);//使用毫秒
timer.addEventListener(TimerEvent.TIMER,updata);
timer.start();
function updata(e:TimerEvent):void
{
sj ++;
this.gotoAndStop(this.currentFrame+1);
trace(sj);//输出sj的当前值
}
这段代码直接贴在主舞台第一帧里就行,具体贴法:
假如你的主舞台有10帧,选中第一帧,“窗口”---“动作”,把代码贴到右侧的可输入区域.
在元件里写一段代码:用速度为1去接近主舞台上的实例player:
把以下代码贴到你要移动的元件里的第一帧上:
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.geom.Point;
var v:int = 1;
var hv:Number=0;
var wv:Number=0;
const targetx:int = 480;//取得主舞台上的实例player的坐标
const targety:int = 50;
var l:Number = Math.sqrt(((targetx - this.x)*(targetx - this.x)) + ((targety - this.y)*(targety - this.y)));//计算路程
wv = ((targetx - this.x)/l)*v;//计算x轴上的分速度
hv = ((targety - this.y)/l)*v;//计算y轴上的分速度
var timer:Timer = new Timer(80);//使用1秒,那么元件的速度为1像素每秒
timer.addEventListener(TimerEvent.TIMER,updata);
timer.start();
function updata(e:TimerEvent):void
{
this.x += wv;//移动该元件的坐标,模拟移动
this.y += hv;
trace(this.x,this.y);//输出本元件的当前坐标
if(Point.distance(new Point(this.x,this.y),new Point(targetx,targety))
看了 求几个as3代码每十分钟就转...的网友还看了以下: