求几个as3代码
每十分钟就转到下一帧并使变量sj+1在元件里写一段代码:用速度为1去接近主舞台上的实例player当变量sj=1时,在舞台上随机时间随机地点生成元件并赋予实例名(代码中元...
每十分钟就转到下一帧并使变量sj+1
在元件里写一段代码:用速度为1去接近主舞台上的实例player
当变量sj=1时,在舞台上随机时间随机地点生成元件并赋予实例名(代码中元件用“元件”代替,实例用“实例”代替。
======================================钦此===================================
变量sj已经声明了 展开
在元件里写一段代码:用速度为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))<10)//当这两点的位置接近到一定程度的时候,移除计时器
{
timer.removeEventListener(TimerEvent.TIMER,updata);
timer.stop();
timer=null;
}
}
在舞台上随机时间随机地点生成元件并赋予实例名(首先要保证库里有一个AS连接名为MC的元件,至于替换成汉字……你还是自己动手吧,不会可以问,但是懒是没药可救的):
import flash.geom.Point;
var timeCount:int = 1000;
var timeList:Array = [];
var pList:Array = [];
var timeInter:int=100;//将要作为计时器的第一个时间间隔使用
var i:int;
for(i = 0;i<timeCount;i++)
{
var timeLong:int = Math.random()*100;//生成一个0到100的随机数
timeList.push(timeLong*10)//因为要作为毫秒使用,同时考虑到元件产生速度的问题,所以在随机的基础上乘以10使用,即使用的随机时间都是以毫秒为单位的10的倍数
var px:int = Math.random()*550;//这里使用Flash新建文件时默认的舞台宽高
var py:int = Math.random()*400;
pList.push(new Point(px,py));
}
i = 0;
var timer:Timer = new Timer(timeInter);
timer.addEventListener(TimerEvent.TIMER,updata);
timer.start();
function updata(e:TimerEvent):void
{
timeInter = timeList[i];
trace(timeInter);
var mc:MC = new MC;
mc.x = (pList[i] as Point).x;
mc.y = (pList[i] as Point).y;
addChild(mc);
trace(mc.x,mc.y);
i++;
if(i>=timeCount)
{
timer.removeEventListener(TimerEvent.TIMER,updata);
timer.stop();
timer=null;
}
}
还有,当变量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))<10)//当这两点的位置接近到一定程度的时候,移除计时器
{
timer.removeEventListener(TimerEvent.TIMER,updata);
timer.stop();
timer=null;
}
}
在舞台上随机时间随机地点生成元件并赋予实例名(首先要保证库里有一个AS连接名为MC的元件,至于替换成汉字……你还是自己动手吧,不会可以问,但是懒是没药可救的):
import flash.geom.Point;
var timeCount:int = 1000;
var timeList:Array = [];
var pList:Array = [];
var timeInter:int=100;//将要作为计时器的第一个时间间隔使用
var i:int;
for(i = 0;i<timeCount;i++)
{
var timeLong:int = Math.random()*100;//生成一个0到100的随机数
timeList.push(timeLong*10)//因为要作为毫秒使用,同时考虑到元件产生速度的问题,所以在随机的基础上乘以10使用,即使用的随机时间都是以毫秒为单位的10的倍数
var px:int = Math.random()*550;//这里使用Flash新建文件时默认的舞台宽高
var py:int = Math.random()*400;
pList.push(new Point(px,py));
}
i = 0;
var timer:Timer = new Timer(timeInter);
timer.addEventListener(TimerEvent.TIMER,updata);
timer.start();
function updata(e:TimerEvent):void
{
timeInter = timeList[i];
trace(timeInter);
var mc:MC = new MC;
mc.x = (pList[i] as Point).x;
mc.y = (pList[i] as Point).y;
addChild(mc);
trace(mc.x,mc.y);
i++;
if(i>=timeCount)
{
timer.removeEventListener(TimerEvent.TIMER,updata);
timer.stop();
timer=null;
}
}
还有,当变量sj=1时这个判断,你也可以自己加。移上代码我都验证过,有不懂的可以继续追问。
更多追问追答
追问
大写的MC是类的名字对不对;
小写的mc是实例名对不对?
怎么加啊,总感觉低三个代码加在if(sj == 1){ 后面有种不对劲的感觉
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询