求几个as3代码

每十分钟就转到下一帧并使变量sj+1在元件里写一段代码:用速度为1去接近主舞台上的实例player当变量sj=1时,在舞台上随机时间随机地点生成元件并赋予实例名(代码中元... 每十分钟就转到下一帧并使变量sj+1
在元件里写一段代码:用速度为1去接近主舞台上的实例player
当变量sj=1时,在舞台上随机时间随机地点生成元件并赋予实例名(代码中元件用“元件”代替,实例用“实例”代替。
======================================钦此===================================
变量sj已经声明了
展开
 我来答
无知不无理
2014-02-08 · TA获得超过628个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:90.4万
展开全部
每十分钟就转到下一帧并使变量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 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
百度网友7588b36
2014-02-07 · TA获得超过2278个赞
知道大有可为答主
回答量:5095
采纳率:40%
帮助的人:1377万
展开全部
用timer计时器函数定义10分钟响应事件处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d1de8cf
2014-02-06 · 超过33用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:89万
展开全部
是我理解能力有限,还是题目不清楚
追问
……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式