2011 本站教學範例已全面更新~ 新教學請看 http://www.flycan.com/article/   【到新的教學討論區】
【飛肯設計學苑】- 回首頁 -
回首頁最新開課訊息企業包班教育訓練範例教學區問題討論區交流分享區程式下載區
Photoshop影像達人專修班 Photoshop 遮色片 & 色版創作進階班 CSS 版面設計專修班 ActionScript 3.0 程式設計入門班 ActionScript & XML 進階整合應用班 Dreamweaver & CSS網頁版型設計班

 

本站已全面更新~ 2011年 新教學範例請看 → http://www.flycan.com/article/

 

【Flash ActionScript】問題討論區
[問題] 如何限制一個物件在場景內的移動範圍

發表新主題   回覆主題
【飛肯】教學網站 首頁 » 【Flash ActionScript】問題討論區
上一篇主題 :: 下一篇主題  
發表人 內容
武藏丸
【班長】
【班長】


註冊時間: 2005-12-05
文章: 49

發表[問題] 如何限制一個物件在場景內的移動範圍 引言回覆

發表於: 2005-12-12 11:05 
假如是製作一個賽車遊戲,場景上有馬路和草地

而車子希望只能在馬路的範圍內移動,不要跑到草地上,該用什麼指令呢?

不知道是不是類似這個遊戲

http://www.mtvgood.com/flashplay/MTVgood_1925.htm

StartDrag的移動只有在固定的範圍內

原理是一樣的嗎?只是我賽車想用鍵盤控制

感謝各位

回頂端
檢視會員個人資料 發送私人訊息
【姜】
【老師】
【老師】


註冊時間: 2005-12-01
文章: 1873

發表 引言回覆

發表於: 2005-12-12 11:11 
用 x y 座標~~

再用 if else 去限制移動的座標範圍

你先想一想,之後我再貼一個範例給你看~~

回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
武藏丸
【班長】
【班長】


註冊時間: 2005-12-05
文章: 49

發表 引言回覆

發表於: 2005-12-13 01:11 
老師~~~~~不行= =

試了很多方法,還是找不到原理

判斷的條件還是沒摸懂

是例如 if 物件的x>30,就讓它=30這樣的原理嗎?

回頂端
檢視會員個人資料 發送私人訊息
7-12
【老師】
【老師】


註冊時間: 2005-12-05
文章: 193

發表 引言回覆

發表於: 2005-12-13 09:51 
武藏丸 寫到:
老師~~~~~不行= =

試了很多方法,還是找不到原理

判斷的條件還是沒摸懂

是例如 if 物件的x>30,就讓它=30這樣的原理嗎?

if (寫在此處的狀況成立){

就做這件事

}

如果你想要讓"ball_mc"物件在一定範圍內移動,可以這樣寫:

if(ball_mc>=30) {

ball_mc._x=30;

}

在此說明一下,Flash沒辦法很精準到達30座標點,所以寫>=而不寫>,如果寫ball_mc>30有可能跑到30.9999或31.0001這是Flash寫遊戲最常遇到的問題,你可以在判斷式內加個數學函式(函數),舉例說明如下:

this.ball_mc.onEnterFrame = function():Void {

this._x += 5;

if (Math.floor(ball_mc._x)>=300) {

ball_mc._x = 300;

}

};

Math.floor函式說明:

下列程式碼會傳回數值 12:

Math.floor(12.5);

下列程式碼會傳回數值 -7:

Math.floor(-6.5);



7-12
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
武藏丸
【班長】
【班長】


註冊時間: 2005-12-05
文章: 49

發表 引言回覆

發表於: 2005-12-14 10:19 
感謝7-12,小弟有試出來了

不過這樣限制住的範圍就一定會是矩形

有辦法限制成不規則型嗎? 像是圓型等等

在FLASH裡有沒有辦法用物件本身來做判斷條件?

像一顆球只能在場景裡一個圓型或三角型的元件範圍裡面移動

就以那個圓型或三角型本身來做條件的判斷,不可以超出自己的範圍

不曉得能不能做到這樣?

回頂端
檢視會員個人資料 發送私人訊息
7-12
【老師】
【老師】


註冊時間: 2005-12-05
文章: 193

發表 引言回覆

發表於: 2005-12-14 15:56 
武藏丸 寫到:
感謝7-12,小弟有試出來了

不過這樣限制住的範圍就一定會是矩形

有辦法限制成不規則型嗎? 像是圓型等等

在FLASH裡有沒有辦法用物件本身來做判斷條件?

像一顆球只能在場景裡一個圓型或三角型的元件範圍裡面移動

就以那個圓型或三角型本身來做條件的判斷,不可以超出自己的範圍

不曉得能不能做到這樣?

Flash本身所提供的內建函式並沒有你要的功能,你必須利用遊戲數學觀念去撰寫ActionScript來判斷,所以是可以辦到你要的功能。有興趣可以去天瓏書局翻翻關於Flash相關的書籍 :D



7-12
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
武藏丸
【班長】
【班長】


註冊時間: 2005-12-05
文章: 49

發表 引言回覆

發表於: 2005-12-14 15:59 
了解了,謝謝 :D
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題     1頁(共1頁)
【飛肯】教學網站 首頁 » 【Flash ActionScript】問題討論區

 
所有的時間均為 台北時間 (GMT + 8 小時)
前往:  

回首頁】【最新開課訊息】【企業委訓】【範例教學分享區】【問題討論區