請教有關 UnDelphiX |
尚未結案
|
nick_chen
一般會員 發表:9 回覆:5 積分:2 註冊:2003-04-14 發送簡訊給我 |
各位前輩:
請問一下,我目前正在學習使用UnDelphiX,
有些不懂的地方,以下^^^^部份是我想不懂的地方,
請各位前輩指導,謝謝! TMouseCursor = class (TImageSprite)
protected
procedure DoMove(MoveCount: Integer); override;
^^^^^^^^
End; MouseCur := TMouseCursor.Create(Form1.DXSpriteEngine.Engine);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
TCursor.Create(Form1.DXSpriteEngine.Engine);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Image := Form1.DXImageList.Items.Find('kur');
^^^^^^^^^^^^^^^^^^
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
TMouseCursor = class (TImageSprite) protected procedure DoMove(MoveCount: Integer); override; ^^^^^^^^override一類別方法是指父類別己經有宣為一個為virtual為dynamic型式 的類別方法. DoMove是DelphiX指每一個週期要作移動圖的作業 MouseCur := TMouseCursor.Create(Form1.DXSpriteEngine.Engine); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ TCursor.Create(Form1.DXSpriteEngine.Engine); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Image := Form1.DXImageList.Items.Find('kur'); ^^^^^^^^^^^^^^^^^^因為您的TMouseCursor是TImageSprite類別後代, 而整個TImageSprite需是在有DXSpriteEngine情況下使用 所以需參照這個物件. DXImageList裡放的是經過封裝過的連續動作圖圖庫 藉由Items.Find可找到代號為kur動作圖的位置. |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
superlevin
高階會員 發表:181 回覆:313 積分:180 註冊:2003-01-12 發送簡訊給我 |
|
nick_chen
一般會員 發表:9 回覆:5 積分:2 註冊:2003-04-14 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
TMouseCursor在建立的時候
傳入DXSpriteEngine.Engine
Engine是TSpriteEngine裡FEngine是TSpriteEngine型態
而TMouseCursor能接受的是TSprite
為什麼不直接用MouseCursor.Create(DXSpriteEngine)
而需使用MouseCursor.Create(DXSpriteEngine.Engine)
確實有一個難以理解
不過在編譯MouseCursor.Create(DXSpriteEngine.Engine)
才能通過 當MouseCursor被DXSpriteEngine參照到時
每一個週期下DXSpriteEngine.Draw
會觸發MouseCursor.DoMouse
這樣才形成一個群組關係
也就是隸屬於DXSpriteEngine那一層底下的
Sprite物件都需作移動或更新圖像作業
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |