高一小白電腦課學了點VB皮毛,考試作業是設計一個簡單的打怪游戲。
【我弄的攻擊方式是:
四個攻擊道具跟隨主角,按Q鍵,控制四個攻擊道具同時向四個方向平移的Timer1運行,另一個控制道具跟隨主角的Timer2停止,道具離角色一定距離后Timer2運行,Timer1停止,
還有一個Timer判定是否攻擊到
(判定主角、怪物、道具的Left、Top加減Heigh、Width的大小關系,造成多段攻擊效果)】←廢話可略
想嘗試另一種攻擊方式,就是按下滑鼠,一個攻擊道具從主角位置沿著標點擊方向移動去,移動到一定距離后歸位(這個我有想過,用坐標和圖片大小勾股定理算距離不知能不能行,應該有其他方法),當主角位置上沒有任何攻擊道具時攻擊無法發動,道具位置與小怪重合期間連續扣除小怪血量(多段攻擊),小怪順道具飛來方向移動許些距離(擊退效果)
沒學如何獲得滑鼠位置之類的指令,教材上找不到相關。
發動仍在主角位置上的道具這個功能,我有想過用判斷道具位置,或判斷控制道具飛出的Timer是否運行來實作,但我不知道是多個Timer分控多個道具,還是一個TImer解決?要是按道具123順序一個一個判斷什么的理清邏輯再寫會不會繁瑣了?能不能有簡單點的方法?這個個人真心沒一點頭緒,來這里求大神們賜教,謝謝!
希望程式帶點淺白的解釋,我太小白了……
uj5u.com熱心網友回復:
https://www.baidu.com/s?wd=VB6%20小游戲
uj5u.com熱心網友回復:
你的“游戲畫面”顯示在視窗上,還是顯示在PictureBox中?無論是Form還是PictureBox,
它的MouseDown( )、MouseUp( )、 MouseMove( ) 事件中,就有對應位置的滑鼠坐標。
有了這個坐標,你應該就可以處理了吧!
注意坐標單位, VB6的默認單位是“緹”,簡單的換算,就是1像素=15緹
“合法的”計算,那么就是 X/Screen.TwipsPerPixelX 和 Y/Screen.TwipsPerPixelY 了。
你也可以在設計時修改顯示游戲畫面的默認度量單位。
當然,你所有的計算/顯示,都以緹為單位也是可以的。
uj5u.com熱心網友回復:
如果要獲得滑鼠在“螢屏內的坐標”,就要用API函式 GetCursorPos( ) 了。不過從螢屏坐標到你視窗內的坐標,還得重新計算、定位。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/72126.html
標籤:控件
上一篇:求高手解答
下一篇:[求助]VBA word 宏設定
