原碼下載
我用自己寫的move_object.py動畫引擎模組,很簡單的就寫出了滿複雜的射擊遊戲,當然move_object.py可作很多的動畫,有時間會在嘗試其他遊戲,並增加move_object.py的功能
move_object.py新增了播放圖片list,和預設動作,背景上寫更多文字,圖片list移動物可顯示life,在遊戲中,你會看到大隻飛碟的燈號會閃來閃去,飛碟會向下或朝玩家丟子彈
並增加播放wav聲音檔模組soundwave.py,只是用os.popen,來執行LINUX指令paplay播放wav,目前LINUX音效都是pulseaudio
os.popen('paplay '+self.file)
讓機台很順的左右移動
主程式增加鬆開鍵盤事件connect,鬆開右或左鍵,停止移動
改寫鍵盤壓下事件,壓下左鍵時物件自動一直向,壓下右鍵時物件自動一直向右
............
self.window.connect("key-release-event", self.on_key_up)#鬆開
..............................
move_list_signal.py增加鬆開鍵盤事件
#鍵盤事件,鬆開
def on_key_up(self, event,list):
key = event.keyval
if key == gtk.keysyms.Right:self.main.move_stop()
if key == gtk.keysyms.Left:self.main.move_stop()
之前移動物,只單張圖片,現在可用圖片list,會輪流播放圖片,下面是畫出一隻特大飛碟,飛碟燈會閃來閃去
p=["fly1.png","fly2.png","fly3.png"]
move_fly_king=move_object.move_object(self,self.framme1,self.darea,p,None,None,"RECEVER_collision_fly","SEND_move_fly",50)#生命50
move_fly_king.set_move_type("直線X")
move_fly_king.set_y(70)
move_fly_king.set_life(100)#設生命
self.move_list_fly_king.append(move_fly_king)
背景上可用set_text_list,寫更多文字,如下
list1=["分數:"+str(self.score),self.get_frame_w_h()[0]-180,25,30,"紅色"]
list2=["射擊遊戲V1.0",12,18,20,"黃色"]
self.move_obj_b.set_text_list([list1,list2])
預設移動方式,增加2種set_move_foward(x,y),朝x,y方向前進
move_ufo_bullet.set_move_foward(self.move_body.get_xy()[0],self.move_body.get_xy()[1])#朝
角度直線可帶旋轉,第一參數angle=-90直線向上,第2參數5是移動量,若0原地不動,第3參數旋轉半徑,第4參數是旋轉半徑增幅
move_bullet.set_move_angle(angle,5,20,0)
若要讓移動物,繞半徑50,原地旋轉set_move_angle(90,0,50,0)
若要讓移動物,直線向上set_move_angle(-90,5)
.....................
2015年3月1日 星期日
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言