看板 Flash 關於我們 聯絡資訊
在生成子彈的時後用滑鼠座標當作方向 砲台名為turret,子彈名為bullet,speed為子彈速度 var dx:Number = _xmouse - turret._x; var dy:Number = _ymouse - turret._y; var length:Number = Math.sqrt(dx * dx + dy * dy); //設定子彈速度X與Y分量 //(dx, dy)是方向向量,除以length是為了使其成為單位向量(長度1) //單位向量乘以speed即成為長度為speed的向量(這就是你要的速度向量) bullet.vx = speed * (dx / length); bullet.vy = speed * (dy / length); //把子彈push到子彈陣列bullets bullets.push(bullet); 在主迴圈裡面用子彈自己的速度來更新位置 speed代表子彈的速度參數,是一個主迴圈內一個子彈的移動長度 for (var i:Number = 0; i < bullets.length; i++) { bullets[i]._x += bullets[i].vx; bullets[i]._y += bullets[i].vy; } 以上code未經過測試,可能有打錯字 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.33.163
HornyDragon:完全不知道單位向量這一招啊啊 都還老師了<0> 05/29 17:13
HornyDragon:太感謝了 馬上來試試看 05/29 17:13
HornyDragon:奇怪 我一用dx和dx來代指標位置就會出狀況... 05/29 17:44