• <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 檔案

                 摘要: 學(xué)習(xí)游戲客戶端和服務(wù)器中線程的設(shè)計(jì),它在里面盡量沒(méi)使用WINDOWS API,而是自己封裝,除了
            創(chuàng)建CreateThread與CreateEvent這兩個(gè)API外.  閱讀全文

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

                 摘要: 項(xiàng)目馬上正式開(kāi)始啟動(dòng),開(kāi)始研究客戶端代碼.今天看到<國(guó)威>抗戰(zhàn)游戲.
            感覺(jué)有點(diǎn)意思.具體的意思在哪我就不說(shuō)了.
            看到登入界面的動(dòng)畫(huà)竟然是flash的做的.這點(diǎn)有點(diǎn)讓我吃驚而已!  閱讀全文

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

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

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

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

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

            注冊(cè)一個(gè)窗口(RegisterClass)
            一旦創(chuàng)建一個(gè)窗口(CreateWindow)一直循環(huán)進(jìn)行消息轉(zhuǎn)換和派遣
            while( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
            {
            TranslateMessage( &msg );
            DispatchMessage( &msg );
            }
            再運(yùn)行窗口注冊(cè)時(shí)的回調(diào)函數(shù)  閱讀全文

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

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

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

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

                 摘要: CEGUI的事件監(jiān)聽(tīng)器又是如何實(shí)現(xiàn)的呢?
            對(duì)于控件,每種控件有自己的事件,如:EventKeyUp等;每個(gè)事件后面可以掛著N個(gè)事件的回調(diào)方法;
            event:function1,function2......
            對(duì)控件訂閱事件,如button->subscribeEvent(CEGUI::Windos::EventKeyUp,CEGUI:Event::Subscriber(&function,this));
            把事件EventKeyUp注冊(cè)到button中,并且在事件響應(yīng)時(shí)回調(diào)函數(shù)fuction

            內(nèi)部實(shí)現(xiàn)機(jī)制是怎么樣的呢?內(nèi)部好像通過(guò)一個(gè)Map來(lái)查找到這個(gè)事件,但是又是如何響應(yīng)到function的呢?哪位大哥指點(diǎn)下?  閱讀全文

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

                 摘要: 監(jiān)聽(tīng)器的注冊(cè)與使用,也就是設(shè)計(jì)模式中的觀察模式(observer),一對(duì)多關(guān)系
            update的參數(shù)應(yīng)該是subject,可以這樣認(rèn)為,如果把subject當(dāng)作老師,observer當(dāng)作學(xué)生的
            話,那就比較容易明白了,update(subject* sub),也就是老師的狀態(tài)發(fā)生改變時(shí),學(xué)生也要
            發(fā)生改變,并且發(fā)的變化是由老師這個(gè)參數(shù)來(lái)決定;定,既對(duì)老師進(jìn)行監(jiān)聽(tīng)  閱讀全文

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

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

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

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

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

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

            第一:開(kāi)閉原則,軟件架構(gòu)應(yīng)該是擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉
            第二:LISKOV替換原則,任何基類可以出現(xiàn)的地方,子類一定也可以出現(xiàn)
            第三:依賴倒轉(zhuǎn)原則,要依賴于抽象,不要依賴于實(shí)現(xiàn)
            第四:接口隔離原則,應(yīng)該為客戶提供盡可能小的接口,而不是提供大的接口
            第五:組合,聚合復(fù)用原則,要盡量使用組合,聚合,而不是繼承關(guān)系以達(dá)到復(fù)用的目的
            第六:Demeter法則:一個(gè)軟件實(shí)體應(yīng)該與盡可能少的其他實(shí)體發(fā)生互相作用

            相信以上幾個(gè)原則對(duì)自己的以后開(kāi)發(fā)高質(zhì)量的軟件有相應(yīng)的優(yōu)勢(shì),相對(duì)來(lái)說(shuō)也比較好理解  閱讀全文

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

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

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

                 摘要: 在CEGUI0.60版本中.開(kāi)始不明白在SCHEME中的

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

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

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

                 摘要: CEGUI的設(shè)計(jì)模式:

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

            但是像如下的設(shè)計(jì)不知道為什么要這樣?  閱讀全文

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

                 摘要: CEGUI有背景圖片的BUTTON:
            昨天聽(tīng)到刀哥問(wèn)我對(duì)Looknfeel寫(xiě)東西有沒(méi)有什么心德體會(huì).說(shuō)實(shí)話,我還真正的寫(xiě)過(guò)一個(gè)wideget.然后突然就有一個(gè)沖動(dòng)想法.很多東西不寫(xiě)是不會(huì)熟悉的.我就參考刀哥的方法寫(xiě)了一個(gè)BUTTON
            有兩種方法可以實(shí)現(xiàn),一為在Looknfeel文件中直接修改  閱讀全文

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

                 摘要: 今天在參考WindowsLook.looknfeel自己寫(xiě)了一個(gè)Button



            1
            2
            3
            4
            5
            6

            7
            8   閱讀全文

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

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

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

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

            posted @ 2008-05-05 15:31 RichardHe 閱讀(1886) | 評(píng)論 (5)  編輯 |

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

            和.font文件

            如果在scheme文件中有font屬性,則修改相對(duì)應(yīng)的字體.

              閱讀全文

            posted @ 2008-05-05 13:22 RichardHe 閱讀(212) | 評(píng)論 (0)  編輯 |

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

            Copyright © RichardHe

            热久久国产欧美一区二区精品| 久久亚洲精品国产亚洲老地址| 国产成人无码久久久精品一| 91久久婷婷国产综合精品青草| 国产精品无码久久综合网| 少妇人妻综合久久中文字幕| 亚洲国产精品久久久久网站| 亚洲国产精品无码久久九九| 久久久91精品国产一区二区三区| 久久人妻少妇嫩草AV无码蜜桃| 久久久久久久久无码精品亚洲日韩| 久久99精品国产麻豆不卡| 国产精品美女久久久久久2018| 国产欧美久久久精品影院| 国产精品欧美久久久久无广告| 久久青青草原精品国产| 狠狠色丁香久久婷婷综合图片| 国产精品无码久久久久| 国产精品久久久久影视不卡| 伊人久久久AV老熟妇色| 亚洲精品WWW久久久久久| 国产巨作麻豆欧美亚洲综合久久| 久久精品九九亚洲精品| 色婷婷综合久久久中文字幕| 精品久久亚洲中文无码| 久久夜色精品国产噜噜亚洲a| 欧美国产精品久久高清| 久久黄色视频| 久久精品国产一区二区电影| 99久久国产综合精品成人影院| 久久精品国产91久久综合麻豆自制| 无码精品久久久天天影视| 国产69精品久久久久9999APGF| 亚洲综合伊人久久大杳蕉| 综合久久国产九一剧情麻豆| 亚洲精品蜜桃久久久久久| 狠狠色狠狠色综合久久| 久久久亚洲欧洲日产国码二区| 99久久精品毛片免费播放| 69国产成人综合久久精品| 一级做a爱片久久毛片|