摘要: 試用過OGF的朋友,應該會發現GameFrame在鼠標消息處理時,都會搜索當前鼠標坐標下的對象,以實現對像的MouseMove,MouseOver, MouseIn, MouseOut四個事件,但效率非常之差。現打算進行調整,以加快每幀的處理速度,大致方案如下:
1、按FLASH的模式,默認不提供對象的MouseMove, MouseOver, MouseIn, MouseOut事件,GameFrame只負責將MouseMove的消息轉發至GameBody,用戶要實現要上述4個事件,則必須重載GameBody的OnMouseMove來實現(GameBody可能會提供一個默認的對象分發過程,由用戶調用或GameFrame的Setting中帶一個標志開發以確定是否分發至對象);
2、在GameLayer層加入一個是否允許處理鼠標消息的標志(默認為false),當為否則不檢測,減少FindObject()函數的判斷次數;
3、在對象中增加一個是否允許處理鼠標消息的標志(默認為false),減少FindObject()函數中用對象區域判斷的次數;
<
閱讀全文
摘要: #89 La Mota, Medina del Campo
Valladolid, Spain
13th to 15th centuries
閱讀全文