2007年2月14日 星期三

Python-Ogre Tutorial 4&5

請先閱讀「寫在OGRE Tutorial前面」,本文假設您的目錄配置都和我一樣。
本文參考PyOgre Beginner Tutorial 4, PyOgre Beginner Tutorial 5

為什麼要把這兩個tutorial合起來呢?這兩篇講的是OGRE Input,但是OGRE內建的Input是不被推薦使用的,所以我並不想詳談。

簡單的說,教學四講的是unbuffered input,在迴圈中不斷的去polling有沒有輸入事件發生。教學五講的是buffered input,比較像event-driven的感覺,Listener Pattern有寫過Java的人應該都不陌生。好....Input講完了。

輸入的部份,推薦另外用OISSDL處理。Python-OGRE已經內建了OIS了。

事實上我在Python-OGRE裡根本試不出內建Input怎麼用,SampleFramework裡也是直接使用OIS,所以找不到範例,在forum也找不到討論。但是看到這段程式碼:

if (ogre.OgreVersion[0]+ ogre.OgreVersion[1]) == "12": # ogre 1.2.3 is latest SDK
from Ogre.sf import *
else: # assume it's ogre version 1.3, the CVS version that needs OIS
from Ogre.sf_OIS import *

似乎指出現在(1.4版Ogre)的Python-OGRE已經不能用內建輸入了。

另外請詳閱Wiki,了解什麼是FrameListener。




之後會再弄個OIS輸入處理篇吧,這一系列的文章就到此結束。

沒有留言: