程式原碼下載
修正在debian7.7下,memory一直增加問題,以及所有OS,執行會漰潰的問題.
memory增加是deb7.7 pygtk3.0的問題,改用gtk2.0正常
執行會漰潰的問題是gtk button元件的問題(使用者一直按button可能crash),改用鍵盤正常
避開BUG,就可好好來使用pygtk cairo製作想要的動畫
鍵盤事件,如下,把key-press-event事件跟 self.window連結,指定處理方法on_key_down
這裡實做是放到move_list_singal模組中,當使用者按下方向鍵右鍵,增加一隻移動物,每支
移動物都有自己特徵,按下方向鍵左鍵,刪除一隻移動物,移動物速度都不一樣,移動方式目前有2種,亂移,跟水平亂移,要怎移動,只是在加上去
main.py
...................................................................................................................
self.window.connect("key-press-event", self.on_key_down)
....................................................................................................................
#處理鍵盤,由move_list_signal物件來實作,呼叫self.move_list_signal.on_key_down(event)
def on_key_down(self, widget, event):
key = event.keyval
self.move_list_signal.on_key_down(event)
#if key == gtk.keysyms.Right:self.generate()
move_list_signal.py
.................................
#鍵盤事件,若想不同動作,可繼承複寫
def on_key_down(self, event):
key = event.keyval
if key == gtk.keysyms.Right:
self.main.generate()
if key == gtk.keysyms.Left:
self.kill_move_first()
要增加移動方式 ,self.move_type是設定type給begin_move方法來判斷,程式碼,都有詳細註解
#移動方式
def set_move_type(self, mtype):
self.move_type=mtype
def begin_move(self,):#不給type為靜止
if(self.move_type=="亂數"):self.set_move_random()
if(self.move_type=="直線X"):self.set_move_line_x_radom()
執行畫面
2015年2月18日 星期三
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言