1樓:
假設它是 ball_mc;
使用tweenmax
move();
function move());
}你的那些**,也可以使用這個函式去隨機移動,但素滑鼠rollover的時候要 tweenmax.killall(); 移開的時候又需要再呼叫一次這個函式, 檢測邊緣你需要在x和y那裡寫寫
2樓:匿名使用者
隨機移動有多種形式,不知道您 要的是哪種形式?勻速?變速?直線?曲線?途中變向還是碰壁後轉向?**嗎?
import flash.geom.rectangle;
import flash.display.sprite;
import flash.utils.timer;
import flash.events.timerevent;
var vx:number=5,vy:number=3;
//繪製一個圓,運動的物體......................
var r:uint=10;
var ball:sprite =new sprite();
ball.graphics.clear();
ball.graphics.linestyle(1,0x00ff00);
ball.graphics.beginfill(0x00ff00);
ball.graphics.drawcircle(0,0,r);
ball.graphics.endfill();
ball.x=stage.stagewidth/2
ball.y=stage.stageheight/2
this.addchild(ball);
//設定邊界.................................
var boundary:rectangle=new rectangle(r,r,stage.stagewidth-r,stage.stageheight-r);
//動力系統...........................
var timer:timer=new timer(50);
timer.start();
timer.addeventlistener(timerevent.timer,run);
function run(e:timerevent):void
if (ball.y<=boundary.top||ball.y>=boundary.bottom)
ball.y+=vy;
ball.x+=vx;}
」j**a」 在兩個範圍內取一個隨機數怎麼做?
3樓:匿名使用者
math.random() 方法能返回大於等於 0.0 且小於 1.0 double 型數值。
即它的取值區間為[0,1),包括 0 不包括 1。
你需要做的是把範圍放大,怎麼放大一個數?當然是用乘法啦。
放大多少,就看你取值區間的範圍多大,以第一個區間為例是[1,50],那麼變化範圍是 50-1=49
那麼就是 math.random()*49,這樣就能得到 [0,49] 範圍裡的數了。但是你要的是 [1,50] 怎麼辦?
很簡單嘛,每個得出來的數都加上取值區間的第一個數,在這裡是加 1 ,就ok了。
所以最後你要的表示式就是:math.random()*49+1 ,就能得到 [1,50) 的取值了。
有兩點要注意的:
第一,這裡 50 這邊是小括號,也就是不包含在內的。需要它的話,你要是用取整或者增大變化範圍,比如到 51 的辦法。
第二,這裡得到的數值型別是 double 型的,如果你需要其它型別,也要進一步處理。
flash AS3影片剪輯用startdrag 拖動,為什麼拖動好幾次才有效
沒什麼問題,只能猜測一下問題的原因了。你的mc只能在座標為 480,280 寬是300,高是100的矩形內移動,這個矩形就像一個 的邊框把mc圍在了裡面,你是沒辦法把mc拖出這個矩形邊界的,建議你可以在舞臺畫這樣一個矩形,看看是不是邊界設定上出了問題。如果mc已經在矩形的邊界,你又想把mc往外面拖動...
flash as3中怎樣監測同時按下兩個鍵?
在平常的思路中,就是當按 的時候,讓物體的y座標減少,依次類推。但是這樣只能讓物體在上下左右四個固定的方向移動。所以要換個思路,改變策略。var px speed number 0 飛機的x軸速度。var py speed number 0 飛機的y軸速度。downhandler uphandler...
ORCAD怎麼隱藏元件管腳號,在 ORCAD 軟體裡,怎樣隱藏原件的管腳!!!急!!!
快樂的貓 雙擊元件管腳,在彈出來的對話方塊裡將hide前面的方塊點上,這個引腳就隱藏起來了,如果所有引腳都要隱藏,就點右下角的global,那麼所有的引腳就都隱藏了。在 orcad 軟體裡,怎樣隱藏原件的管腳!急! orcada中是不能隱藏原件的管腳的 要想隱藏原件的管腳有2個方法 1 將orcad...