AS3一點算術

2021-06-28 21:55:38 字數 3627 閱讀 5545

【在指定數值範圍內獲得隨機數】

//可取範圍:[min, max]

private function randrange(min:number, max:number):number

【弧度(radian)與度數(degree)之間的轉換】

從弧度轉為度數: degrees = radians * 180 / math.pi

從度數轉為弧度: radians = degrees * math.pi / 180

【計算兩點之間的距離】

勾股定理: c2 = a2 + b2

假設有兩個影片剪輯mc1和mc2,則它們兩點間的距離c為:

var c:number = math.sqrt(math.pow(mc1.x - mc2.x, 2) + math.pow(mc1.y - mc2.y, 2));

【模擬圓周運動】

已知圓心o(x0, y0),半徑r和弧度angle,求圓上任意一點p(x, y)的座標:

x = x0 + (math.cos(angle) * r);

y = y0 + (math.sin(angle) * r);

注意:舞台的x軸正方向水平向右,y軸正方向垂直向下.

【模擬橢圓運動】

已知圓心o(x0, y0),長軸a,短軸b以及弧度angle,求圓上任意一點p(x, y)的座標:

x = x0 + (math.cos(angle) * a);

y = y0 + (math.sin(angle) * b);

基本三角函式的計算:

角的正弦值 = 對邊 / 斜邊

角的余弦值 = 鄰邊 / 斜邊

角的正切值 = 對邊 / 鄰邊

角度制與弧度制的相互轉換:

弧度 = 角度 * math.pi / 180

角度 = 弧度 * 180 / math.pi

計算兩點間距離:

dx = x2 – x1;

dy = y2 – y1;

dist = math.sqrt(dx*dx + dy*dy);

緩動公式:

sprite.x += (targetx - sprite.x) * easing;//easing為緩動係數變數

sprite.y += (targety - sprite.y) * easing;

彈性公式:

vx += (targetx - sprite.x) * spring;//spring為彈性係數

vy += (targety - sprite.y) * spring;

sprite.x += (vx *= friction);//friction為摩擦力

sprite.y += (vy *= friction);

偏移彈性公式:

var dx:number = sprite.x - fixedx;

var dy:number = sprite.y - fixedy;

var angle:number = math.atan2(dy, dx);

var targetx:number = fixedx + math.cos(angle) * springlength;

var targety:number = fixedx + math.sin(angle) * springlength;

向滑鼠旋轉(或向某點旋轉)

dx = mou*** - sprite.x;

dy = mousey - sprite.y;

sprite.rotation = math.atan2(dy, dx) * 180 / math.pi;

波形運動:

public function onenterframe1(event:event):void

心跳:public function onenterframe1(event:event):void

圓心旋**

public function onenterframe(event:event):void

橢圓旋**

public function onenterframe(event:event):void

顏色運算得到透明值:

var t:uint=0×77ff8877

var s:uint=0xff000000

var h:uint=t&s

var m:uint=h>>>24

trace(m)

轉換為十進位制:

trace(hexvalue);

十進位制轉換為十六進製制:

decimalvalue.tostring(16)

顏色提取:

red = color24 >> 16;

green = color24 >> 8 & 0xff;

blue = color24 & 0xff;

alpha = color32 >> 24;

red = color32 >> 16 & 0xff;

green = color32 >> 8 & 0xff;

blue = color232 & 0xff;

按位計算得到顏色值:

color24 = red << 16 | green << 8 | blue;

color32 = alpha << 24 | red << 16 | green << 8 | blue;

過控制點的曲線:

// xt, yt是你想要讓曲線通過的那一點

// x0, y0 和x2, y2 是曲線的終點

//ps.發現很多人**都是直接複製貼上,也不翻譯一下

xt * 2 – (x0 + x2) / 2;

y1 = yt * 2 – (y0 + y2) / 2;

moveto(x0, y0);

curveto(x1, y1, x2, y2);

// 重置影片的位置和速度

if(sprite.x - sprite.width / 2 > right ||

sprite.x + sprite.width / 2 < left ||

sprite.y – sprite.height / 2 > bottom ||

sprite.y + sprite.height / 2 < top)

摩擦力應用(正確方法):

speed = math.sqrt(vx * vx + vy * vy);

angle = math.atan2(vy, vx);

if(speed > friction)else

vx = math.cos(angle) * speed;

vy = math.sin(angle) * speed;

摩擦力應用(簡便方法):

vx *= friction;

vy *= friction;

座標旋**

x1 = math.cos(angle) * x - math.sin(angle) * y;

y1 = math.cos(angle) * y + math.sin(angle) * x;

反座標旋**

1.x1 = math.cos(angle) * x + math.sin(angle) * y;

2.y1 = math.cos(angle) * y - math.sin(angle) * x;

java一點東西(3)

運算子的優先順序 優先順序最高 單目運算子 賦值符號 物件導向設計步驟 1.發現類 2.發現類的屬性 3.發現類的方法 優化設計 編寫程式入口 迭代器 如何遍歷list集合?方法1.用for迴圈和get 方法結合實現遍歷 for each迴圈可以遍歷輸出,但不可刪減 方法2.用迭代器iterator...

一點一點進步

requestparam,是獲取前端傳遞給後端的引數,可以使get方式,也可以是post方式。若前端傳遞的引數和後端接收的引數名稱不一致,則必須要標註。pathvariable,是獲取get方式,url後面引數,進行引數繫結。1.裝箱就是講基本資料型別轉換為包裝類,拆箱就是自動將包裝類轉換為基本資料...

as3 動態修改註冊點

package 設定顯示物件的屬性 public function flush prop string,value number void else 使用方法 import dynamicregistration var reg dynamicregistration new dynamicregi...