• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            05 2008 檔案

                 摘要: 學習游戲客戶端和服務器中線程的設計,它在里面盡量沒使用WINDOWS API,而是自己封裝,除了
            創建CreateThread與CreateEvent這兩個API外.  閱讀全文

            posted @ 2008-05-28 17:50 RichardHe 閱讀(181) | 評論 (0)  編輯 |

                 摘要: 項目馬上正式開始啟動,開始研究客戶端代碼.今天看到<國威>抗戰游戲.
            感覺有點意思.具體的意思在哪我就不說了.
            看到登入界面的動畫竟然是flash的做的.這點有點讓我吃驚而已!  閱讀全文

            posted @ 2008-05-27 17:22 RichardHe 閱讀(174) | 評論 (0)  編輯 |

                 摘要: OGRE的OIS系統:
            這次僅舉個Mouse系統,我也只是為了說明其中的原理而改;
            在ogre中,frameStarted接口中mMouse->capture();在此這前先注冊這個監聽器,不過它的名字
            叫做mMouse->setEventCallback(this);所以mMouse->register(this)是一樣的;因為capture是一直循環的,所以也是一直事件等待發生,
            像程序的框架已經生成,一般的程序都會繼承Public OIS::MouseListener,所以下面其中的方法也重載
            其中可能說的不夠很明白,有什么問題可以MSN或是給我留言...  閱讀全文

            posted @ 2008-05-23 20:02 RichardHe 閱讀(183) | 評論 (0)  編輯 |

                 摘要: 環境變量;一些DLL可以集中在一起,如可以放在一個文件夾目錄下.
            然后設置環境變量.在變量Path的值的后面添加把這個文件夾路徑加在后面

            提一個問題:
            為什么一定要在Path變量;為什么不可以自定義一個變量,再把值設為文件夾路徑???

            注冊一個窗口(RegisterClass)
            一旦創建一個窗口(CreateWindow)一直循環進行消息轉換和派遣
            while( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
            {
            TranslateMessage( &msg );
            DispatchMessage( &msg );
            }
            再運行窗口注冊時的回調函數  閱讀全文

            posted @ 2008-05-22 18:13 RichardHe 閱讀(187) | 評論 (0)  編輯 |

                 摘要: 事件訂閱,subscribeEvent(事件名,Event::subcribe(回調函數);
            方法subcribe通過一個Map Container;
            typedef std::multimap SlotContainer,添加到容器中,
            d_slots.insert(std::pair(group,c));而在事件觸發時,
            Event操作()遍歷每個訂閱事件的函數,代碼如下:
            for (; iter != end_iter; ++iter)
            args.handled |= (*iter->second->d_subscriber)(args);
            這樣訂閱事件的函數都會遍歷回調到!

            遇見一個CEGUI的設計問題
            有的是函數指針,而有的是類型的別名?比如:
            typedef bool (*SortCallback)(const ItemEntry* a, const ItemEntry* b);
            typedef   閱讀全文

            posted @ 2008-05-21 16:47 RichardHe 閱讀(188) | 評論 (0)  編輯 |

                 摘要: CEGUI的事件監聽器又是如何實現的呢?
            對于控件,每種控件有自己的事件,如:EventKeyUp等;每個事件后面可以掛著N個事件的回調方法;
            event:function1,function2......
            對控件訂閱事件,如button->subscribeEvent(CEGUI::Windos::EventKeyUp,CEGUI:Event::Subscriber(&function,this));
            把事件EventKeyUp注冊到button中,并且在事件響應時回調函數fuction

            內部實現機制是怎么樣的呢?內部好像通過一個Map來查找到這個事件,但是又是如何響應到function的呢?哪位大哥指點下?  閱讀全文

            posted @ 2008-05-20 16:34 RichardHe 閱讀(233) | 評論 (0)  編輯 |

                 摘要: 監聽器的注冊與使用,也就是設計模式中的觀察模式(observer),一對多關系
            update的參數應該是subject,可以這樣認為,如果把subject當作老師,observer當作學生的
            話,那就比較容易明白了,update(subject* sub),也就是老師的狀態發生改變時,學生也要
            發生改變,并且發的變化是由老師這個參數來決定;定,既對老師進行監聽  閱讀全文

            posted @ 2008-05-19 16:26 RichardHe 閱讀(954) | 評論 (0)  編輯 |

                 摘要: 本來這周的工作是開始做新項目的界面,由于美術那邊的一些工作問題而延遲;不過這周自己對“設計模式”又有了點重新的認識,每看一次都有點體會,有比以前更深一點的了解。它用生活中的實際例子來解釋設計模式,為什么要這樣設計?并且說出它這樣設計的優點。雖然這兩本書《設計模式精解》和《深入淺出設計模式》還沒看完,但自己以后會找時間慢慢細讀完這兩本書。其中對UML的認識又有了進一步的提高;以前一直不太關注和了解這東西,原來這東西為團隊合作可以有著很好的協調作用;圖是可以更好的解釋一類東西,并不一定要使用UML中的類圖等,其它的圖也可以,以前經常使用MindManager這個軟件。
            程序上對回調函數也有了再進一步的認識,以前就知道是什么意思,也就是知道表面的東西,像就是一個函數指針呀什么的;現在知道這樣做的好處是什么!相比之下,正所謂了解一個東西到它的優點你才會去使用它,而不死版的直接調用等。  閱讀全文

            posted @ 2008-05-16 17:29 RichardHe 閱讀(150) | 評論 (0)  編輯 |

                 摘要: 函數指針的應該,也可以說是回調函數的應用,一開始也知道是什么意思,也知道其用法,
            但是今天和兩位游戲界的朋友還是問明白了一個這個用法的好處和優點!
            為什么不直接調用函數呢?為什么要用函數指針呢?
            函數指針的好處就是一開始不知道調用哪個函數,直到運行時或者自己調用的時候賦值,
            這樣這個指針就指到了需要調用的函數,不過這個函數不能任意賦值,它的返回類型和參數
            類型和個數也要一樣.
            閱讀<設計模式精解>
            軟件設計中一些模塊化,和高內聚,低偶合的原則  閱讀全文

            posted @ 2008-05-15 18:09 RichardHe 閱讀(193) | 評論 (0)  編輯 |

                 摘要: 今天看到梁兄的BLOG,就抄了他的幾句體會箴言

            第一:開閉原則,軟件架構應該是擴展開放,對修改關閉
            第二:LISKOV替換原則,任何基類可以出現的地方,子類一定也可以出現
            第三:依賴倒轉原則,要依賴于抽象,不要依賴于實現
            第四:接口隔離原則,應該為客戶提供盡可能小的接口,而不是提供大的接口
            第五:組合,聚合復用原則,要盡量使用組合,聚合,而不是繼承關系以達到復用的目的
            第六:Demeter法則:一個軟件實體應該與盡可能少的其他實體發生互相作用

            相信以上幾個原則對自己的以后開發高質量的軟件有相應的優勢,相對來說也比較好理解  閱讀全文

            posted @ 2008-05-14 17:59 RichardHe 閱讀(305) | 評論 (0)  編輯 |

                 摘要: 凡是絕對有效對象或者需要有效對象的地方,使用引用
            void DoJob( CSceneMgr& );
            CSceneMgr& GetSceneMgr();
            凡是允許或者無法判斷對象是否有效的地方,使用指針,并在使用該指針的作用域內對指針進行判斷。
            void DoJob( CSceneMgr* );
            CSceneMgr* GetSceneMgr();  閱讀全文

            posted @ 2008-05-13 14:04 RichardHe 閱讀(129) | 評論 (0)  編輯 |

                 摘要: 在CEGUI0.60版本中.開始不明白在SCHEME中的

            是什么作用.CEGUIFalagardWRBase是干嘛用的?
            原來是渲染控件的方式.也就是在源碼中CEGUIFalagardWRBase生成的庫;用在后面XML中

            我想是先通過CEGUIFalagardWRBase,再找到Renderer="Falagard/Button" 渲染控件類型.  閱讀全文

            posted @ 2008-05-12 10:19 RichardHe 閱讀(223) | 評論 (0)  編輯 |

                 摘要: CEGUI的設計模式:

            像其中的單件模式比較容易理解.

            但是像如下的設計不知道為什么要這樣?  閱讀全文

            posted @ 2008-05-09 15:32 RichardHe 閱讀(176) | 評論 (0)  編輯 |

                 摘要: CEGUI有背景圖片的BUTTON:
            昨天聽到刀哥問我對Looknfeel寫東西有沒有什么心德體會.說實話,我還真正的寫過一個wideget.然后突然就有一個沖動想法.很多東西不寫是不會熟悉的.我就參考刀哥的方法寫了一個BUTTON
            有兩種方法可以實現,一為在Looknfeel文件中直接修改  閱讀全文

            posted @ 2008-05-08 16:30 RichardHe 閱讀(1929) | 評論 (4)  編輯 |

                 摘要: 今天在參考WindowsLook.looknfeel自己寫了一個Button



            1
            2
            3
            4
            5
            6

            7
            8   閱讀全文

            posted @ 2008-05-07 17:00 RichardHe 閱讀(274) | 評論 (0)  編輯 |

                 摘要: 編輯框的backspace刪除問題:
            今天在Sample_FalagardDemo1這個DEMO程序中,有一個編輯框.當輸入了一些字符時.如果想用退格鍵刪除全部的話,
            只能一個字符刪完以后,放開BackSpace鍵,
            再按一次退格才能刪除前面的一個字符.如果想一直按著BackSpace的話,確不能全部刪除.
            開始有這樣的想法;那就是設一個定時器,時間間隔比較短,定時器一直判斷若兩人BackSpace鍵有無按下去?
            如果有按下去再執行一次void Editbox::handleBackspace(void)
            但這樣可能會占用許多資源;以上只是想法.不知道有誰知道更好的方法嗎?歡迎指教下..  閱讀全文

            posted @ 2008-05-06 16:17 RichardHe 閱讀(220) | 評論 (0)  編輯 |

                 摘要: CEGUI的中文輸入:
            目前為止為我解決的也是參考別人的方法改的代碼,不知道哪位兄臺有更好的解決方案?
            源碼如下:  閱讀全文

            posted @ 2008-05-05 15:31 RichardHe 閱讀(1876) | 評論 (5)  編輯 |

                 摘要: 在WINDOWS目錄下font文件夾下找一個simfang.ttf文件COPY到CEGUI的datafiles目錄下的fonts下

            和.font文件

            如果在scheme文件中有font屬性,則修改相對應的字體.

              閱讀全文

            posted @ 2008-05-05 13:22 RichardHe 閱讀(209) | 評論 (0)  編輯 |

            posts - 94, comments - 138, trackbacks - 0, articles - 94

            Copyright © RichardHe

            99久久精品九九亚洲精品| 久久精品国产99久久久| 国产成人综合久久久久久| 久久久噜噜噜久久| 午夜精品久久久久久99热| 91精品国产91久久久久久青草 | 久久亚洲日韩看片无码| 无码AV中文字幕久久专区| 女人香蕉久久**毛片精品| 久久人人爽人人爽人人片AV不 | 亚洲欧美一级久久精品| 精品久久久久香蕉网| 日韩亚洲国产综合久久久| 久久精品国产99久久久| 午夜精品久久久久久影视777| 久久综合给久久狠狠97色 | 欧美大战日韩91综合一区婷婷久久青草| 热久久视久久精品18| 日本精品久久久久中文字幕8 | 亚洲综合日韩久久成人AV| 国产精品欧美久久久久天天影视| 国产精品99久久久精品无码| 国产成人精品久久一区二区三区av | 久久久一本精品99久久精品66| 久久精品国产亚洲AV不卡| 久久99精品国产| 色狠狠久久AV五月综合| 伊人久久精品影院| 中文字幕精品久久| 日韩电影久久久被窝网| 国产香蕉97碰碰久久人人| 99re这里只有精品热久久| 久久久久99精品成人片直播| 久久91精品国产91| 国色天香久久久久久久小说| 无码人妻少妇久久中文字幕| 久久久久亚洲AV综合波多野结衣| 久久精品国产亚洲av瑜伽| 久久久久免费视频| 色天使久久综合网天天| 久久国产亚洲精品|