全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3410
推到 Plurk!
推到 Facebook!

請問一個設計遊戲中遇到的基本問題~

尚未結案
DoubleFish2004
一般會員


發表:6
回覆:12
積分:3
註冊:2004-05-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-25 23:12:04 IP:163.28.xxx.xxx 未訂閱
各位大大好: 目前小弟正在設計一個小型的大富翁類型遊戲 遇到了一點小問題,問題如下 目前需要在主畫面show以後自動執行一個處理人物行動的procedure 可是FormShow這個procedure是先作完程式碼後再將Form show出來 並不符合需要 那請問是否有其他的procedure或任何方法可以達到需要呢? 煩請有經驗的大大解答 另外是否有類似類型的遊戲程式碼可供小弟學習呢? 或是有同樣設計經驗的大大肯跟小弟分享? 感恩><
DoubleFish2004
一般會員


發表:6
回覆:12
積分:3
註冊:2004-05-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-26 01:05:01 IP:163.28.xxx.xxx 未訂閱
抱歉還有個小問題, 例如:如果今天一個TEdit的Default設為True時 程式執行時游標會在該Edit中,因此Form的KeyDown事件就無效 請問有無辦法在程式碼中將其視窗的Focus回去Form上 使Form的KeyDown有效化~ 煩請大大解答
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-26 08:37:16 IP:210.61.xxx.xxx 未訂閱
DoubleFish2004您好 針對第一個問題, 您可以在form上放置一個TTimer,Interval設為3000(約三秒) 在OnTimer裡 Timer1.Enabled:=False; DoYourMoveSprite;//移動您的人物等 第二個問題 Form的keyPreview設為True即可在Form的OnKeyPress及KeyDown就有效得知鍵盤事件
DoubleFish2004
一般會員


發表:6
回覆:12
積分:3
註冊:2004-05-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-26 13:17:07 IP:163.28.xxx.xxx 未訂閱
感謝pedro大大的回答 剛剛測試了一下 關於第一個問題,的確可以解決我的問題^^感謝~(外加上我的暴力法就可以解決) 而第二個問題,則是沒有辦法ㄟ,我將主Form上的keypreview設為True 仍然無法引發在主Form中按下按鍵的KeyDown事件 因為我主Form中有一個超過Form大小的Image物件,當作背景 不知道是不是這個原因 剛剛測試了一下,只要在主Form上加上一個按鍵,然後在按鍵的OnClick事件中寫入 Button1.Enabled := False;然後在執行時先按下Button後就可以用按鍵來引發主 Form的KeyDown事件了,不知道?何會這樣呢?
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-27 08:29:04 IP:210.61.xxx.xxx 未訂閱
不知道您的程式之中是否有for-loop佔住message queue,還是有其它原因 因為一般用keypreview即可獲得鍵盤事件(包含很大的TImage蓋住) 也許您能po一些重點的source,我來幫您trace
DoubleFish2004
一般會員


發表:6
回覆:12
積分:3
註冊:2004-05-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-27 08:59:24 IP:163.28.xxx.xxx 未訂閱
我其實很想把我的程式碼Po上來 可是因為是個有點規模的小遊戲 加上小弟我程式設計技巧有待加強 程式碼實在有龐雜加冗長,不知道PO哪部份比較好 不過小弟用了一個暴力法解決了這個問題 也就是用了一個大小為0的edit 將KeyDown事件寫入edit的OnKeyDown中 當要驅動KeyDown事件時就先執行edit.setFocus 這樣就能順利驅動事件了,不過這方法很沒概念說^^"" 小弟才疏學淺~多多見諒~ 也多謝perdo大大的熱心解答
lcc1299
一般會員


發表:39
回覆:42
積分:21
註冊:2004-09-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2006-07-22 00:09:29 IP:210.64.xxx.xxx 未訂閱


===================引 用 文 章===================
我其實很想把我的程式碼Po上來可是因為是個有點規模的小遊戲加上小弟我程式設計技巧有待加強程式碼實在有龐雜加冗長,不知道PO哪部份比較好 不過小弟用了一個暴力法解決了這個問題也就是用了一個大小為0的edit 將KeyDown事件寫入edit的OnKeyDown中當要驅動KeyDown事件時就先執行edit.setFocus 這樣就能順利驅動事件了,不過這方法很沒概念說^^"" 小弟才疏學淺~多多見諒~ 也多謝perdo大大的熱心解答

不好意思,我好幾年沒寫程式了= ="!,不過~~這問題你可以試試在Tedit他的keypress裡寫成當焦點停在這裡面按enter時,幫你執行form上按enter的程式。就同等於,一段程式,多個事件能觸發那種樣子。

系統時間:2024-12-04 1:29:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!