• <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>
            小四的海市蜃樓
            Never surrender to complexity
            posts - 21,comments - 59,trackbacks - 0
            https://github.com/dingjiecn/OpenDraw.git

            打算做一個(gè)開(kāi)源的矢量繪圖軟件(類似MS Visio),花了幾天把程序框架做了出來(lái),自認(rèn)比DrawCLI的稍微好一點(diǎn)點(diǎn)。支持基本圖形繪制,旋轉(zhuǎn),縮放,串行化。使用MFC、STL、GDI/GDI+和一點(diǎn)點(diǎn)設(shè)計(jì)模式。

            自知做一個(gè)堪用的矢量繪圖軟件是個(gè)非常艱巨的事情,不過(guò)還是打算用一些業(yè)余時(shí)間把這件事情做了,對(duì)自己以往掌握的知識(shí),也是一個(gè)總結(jié)。

            編譯好的可執(zhí)行程序
            程序0.01版本源代碼在這里可以下載
            posted @ 2008-01-29 18:16 小四 閱讀(11676) | 評(píng)論 (37)編輯 收藏

            動(dòng)畫(huà)Layer的作用:
            U3D的老動(dòng)畫(huà)系統(tǒng),可以通過(guò)設(shè)置動(dòng)畫(huà)Layer,在不去中斷低層級(jí)動(dòng)畫(huà)的同時(shí),播放高層級(jí)動(dòng)畫(huà)。高層級(jí)動(dòng)畫(huà)播放完后自動(dòng)切換回低層級(jí)動(dòng)畫(huà)。一般相同層級(jí)的動(dòng)畫(huà),同時(shí)只能播放一個(gè)。


            Play()和PlayQuqued(QueueMode.PlayNow)的區(qū)別:
            后者復(fù)制了動(dòng)畫(huà)放入播放序列,可以實(shí)現(xiàn)同一個(gè)動(dòng)畫(huà)之間的切換,比如一個(gè)攻擊動(dòng)作可以連續(xù)快擊兩次。而前者只能等第一個(gè)攻擊動(dòng)作完成后,再做第二個(gè)相同的攻擊動(dòng)作。

            posted @ 2014-12-03 15:14 小四 閱讀(207) | 評(píng)論 (0)編輯 收藏
                 摘要: 多年之前在WPS做算法研究的時(shí)候?qū)懙某S糜?jì)算幾何算法 C++  閱讀全文
            posted @ 2012-12-05 23:07 小四 閱讀(4731) | 評(píng)論 (0)編輯 收藏
            cocos2d-x版FishingJoy, 可做為cocos2d-x示例工程,
            包含CCSprite、CCAction、CCParticleSystem等重要類的使用方法。
            好久沒(méi)用C++,寫(xiě)出的代碼帶強(qiáng)烈的Objc風(fēng)格,@_@
            可能跟cocos2d-x源于cocos2d有關(guān)。
            cocos2d-x版本2.0.4,xcode版本4.5。
            資源文件從網(wǎng)絡(luò)獲得,也可使用付費(fèi)TexturePacker自行生成。

            源代碼地址:
            https://github.com/dingjiecn/FishingJoy.git

            posted @ 2012-12-04 16:48 小四 閱讀(2966) | 評(píng)論 (2)編輯 收藏

            https://github.com/dingjiecn/TalkingJohn.git

            源代碼
             
            outfit7公司生產(chǎn)了一系列的會(huì)說(shuō)話的朋友a(bǔ)pp,最著名的是會(huì)說(shuō)話的湯姆貓.
            利用業(yè)余時(shí)間做了一個(gè)TalkingJohn,資源都是用原app的,在xcode4.1編譯通過(guò).
            為CCDirector增加category方法屏幕錄像,和音視頻合成.
            錄像模式在模擬器運(yùn)行良好,但是在ipad上運(yùn)行經(jīng)常錄制不成功.
            如果有哪位同學(xué)改好了這個(gè)問(wèn)題,請(qǐng)給我發(fā)郵件cugdj at hotmail.com. 


             

            posted @ 2011-11-18 23:41 小四 閱讀(9909) | 評(píng)論 (2)編輯 收藏

            文件系統(tǒng)

            一些重要的應(yīng)用目錄

            為了安全的緣故,一個(gè)應(yīng)用只能擁有一些目錄,用來(lái)寫(xiě)入應(yīng)用的數(shù)據(jù)或者首選項(xiàng)參數(shù)。當(dāng)一個(gè)應(yīng)用安裝到系統(tǒng),會(huì)創(chuàng)建該應(yīng)用的home目錄。以下列出一些home目錄下的主要的子目錄:

            • <Application_Home>/AppName.app:存放應(yīng)用程序自身
            • <Application_Home>/Documents/:存放用戶文檔和應(yīng)用數(shù)據(jù)文件
            • <Application_Home>/Library/:應(yīng)用程序規(guī)范的頂級(jí)目錄,下面有一些規(guī)范定義的的子目錄,當(dāng)然也可以自定義子目錄,用于存放應(yīng)用的文件,但是不宜存放用戶數(shù)據(jù)文件
            • <Application_Home>/Library/Preferences,這里存放程序規(guī)范要求的首選項(xiàng)文件
            • <Application_Home>/Library/Caches,保存應(yīng)用的持久化數(shù)據(jù),用于應(yīng)用升級(jí)或者應(yīng)用關(guān)閉后的數(shù)據(jù)保存
            • <Application_Home>/tmp/,保存應(yīng)用數(shù)據(jù),但不需要持久化的,在應(yīng)用關(guān)閉后,該目錄下的數(shù)據(jù)將刪除 

              備份和恢復(fù)

              iTunes應(yīng)用可在適當(dāng)情況下自動(dòng)處理備份和恢復(fù)。然后,應(yīng)用需要知道備份和恢復(fù)的文件放在哪里。

              什么是備份

              你不必為你的應(yīng)用備份和恢復(fù)做任何準(zhǔn)備。在iOS 2.2以后,當(dāng)設(shè)備連接到電腦并開(kāi)始同步后,iTunes會(huì)自動(dòng)增量備份所有文件,但不包括下面的目錄:

              • <Application_Home>/AppName.app
              • <Application_Home>/Library/Caches
              • <Application_Home>/tmp

              雖然iTunes備份應(yīng)用自身,但不是每次同步都這樣做。從app store上購(gòu)買的應(yīng)用,只在隨后的同步過(guò)程中被iTunes備份。再之后,iTunes并不在同步操作中備份應(yīng)用,除非應(yīng)用自身發(fā)生變化,比如應(yīng)用的升級(jí)。

              為了避免同步過(guò)程時(shí)間過(guò)長(zhǎng),你需要對(duì)應(yīng)用中使用的文件放在哪里做出選擇。<Application_Home>/Documents目錄用來(lái)存放用戶文檔和應(yīng)用數(shù)據(jù)文件。臨時(shí)文件要保存在Application Home/tmp目錄下,這樣可以在不需要時(shí)刪除。如果在兩次啟動(dòng)中都需要的數(shù)據(jù)文件,但是不需要備份的,可放置在Application Home/Library/Caches。比如很大的數(shù)據(jù)文件,盡量放置在Caches目錄下,而不是Documents目錄下,Documents目錄下文件將做備份,這樣會(huì)很耗時(shí)。

              應(yīng)用更新期間的文件保存

              如果文件需要在應(yīng)用更新后依然存在,需要放置在:

              • <Application_Home>/Documents
              • <Application_Home>/Library
            posted @ 2011-10-17 15:35 小四 閱讀(2063) | 評(píng)論 (0)編輯 收藏
            當(dāng)未從interface builder中為view屬性顯示指定outlet,或者此UIViewController是在程序中用代碼創(chuàng)建的,
            當(dāng)訪問(wèn)到view屬性,但是view屬性為nil值的時(shí)候,會(huì)調(diào)用到loadView方法創(chuàng)建view出來(lái)。
            這就可以解釋
            UIViewController *rootViewController = [[[UIViewController alloc] init] autorelease];
            此時(shí)rootViewController.view為空
            [self.window addSubview:rootViewController.view];
            此時(shí)view已經(jīng)被創(chuàng)建了。

            在UIViewController Class Reference有詳細(xì)說(shuō)明


            posted @ 2011-06-01 15:23 小四 閱讀(1284) | 評(píng)論 (0)編輯 收藏
            首先需要一個(gè)mp3 decoder,實(shí)現(xiàn)mp3 to wav,然后需要一個(gè)ogg encoder,實(shí)現(xiàn)wav to ogg。
            原理就是這樣。自己做了一個(gè)mp3轉(zhuǎn)ogg的工程,轉(zhuǎn)換過(guò)程中mp3的tag信息都沒(méi)有丟失。
            速度還可以,需要的人可以自己閱讀一下代碼進(jìn)行優(yōu)化。
            源代碼在這里下載。
            posted @ 2010-02-05 16:54 小四 閱讀(1419) | 評(píng)論 (1)編輯 收藏
            問(wèn)題在于,即使是Windows95,實(shí)時(shí)處理視頻音頻的能力依然很差,
            于是微軟制作了一個(gè)叫做Win-G的軟件,試圖解決視頻方面的問(wèn)題。
            宣傳的時(shí)候,Win-G被說(shuō)成是最佳的游戲編程和圖形子系統(tǒng),而事實(shí)
            上它只不過(guò)是一堆用于畫(huà)位圖的圖形調(diào)用而已。更有甚者,Win-G
            發(fā)布后大約一年之后,Microsoft竟然否認(rèn)了它的存在,不騙你!
            posted @ 2009-03-27 20:08 小四 閱讀(504) | 評(píng)論 (0)編輯 收藏

            由于在DLL窗體中需要使用CToolTipCtrl來(lái)實(shí)現(xiàn)提示功能,
            所以要重載PreTranslateMessage,代碼如下

            BOOL CMyWnd::PreTranslateMessage(MSG* pMsg)
            {
             m_toolTip.RelayEvent(pMsg);  
             return CGameWnd::PreTranslateMessage(pMsg);
            }

            但是由于CMyWnd是在DLL中,所以重載PreTranslateMessage無(wú)效,
            具體原因我忘記了,反正網(wǎng)上都可以搜索到。不過(guò)解決方案都給的
            不是很明確,在這里我把我的解決方法記錄下來(lái),省得以后忘掉了。
            主要是在創(chuàng)建CMyWnd實(shí)例的時(shí)候把窗口指針存下來(lái),然后使用全局
            消息鉤子執(zhí)行CMyWnd::PreTranslateMessage,代碼如下

            1.定義全局變量
             HHOOK g_hHook = 0;
             CMyWnd* g_pMyWnd = NULL;

            2.安裝全局鉤子,要在DLL中安裝
             g_hHook = ::SetWindowsHookEx(WH_GETMESSAGE, HookProc, 0, ::GetCurrentThreadId());

            3.創(chuàng)建窗體的時(shí)候保留指針
             m_pMyWnd = new CMyWnd();
             g_pMyWnd = m_pMyWnd;

            4.鉤子函數(shù)
            LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
            {
             MSG* pMsg = (MSG*)lParam;
             if(g_pMyWnd && (pMsg->hwnd == g_pMyWnd->m_hWnd))
             {
              g_pMyWnd->PreTranslateMessage(pMsg);
             }
             return CallNextHookEx(g_hHook, nCode, wParam, lParam);
            }

            5.退出的時(shí)候別忘了卸載鉤子
             if(g_hHook) 
              UnhookWindowsHookEx(g_hHook);

            posted @ 2009-01-06 10:24 小四 閱讀(1966) | 評(píng)論 (1)編輯 收藏
            一個(gè)碎了一塊玻璃的房子,如果沒(méi)有及時(shí)修補(bǔ),很快其他的玻璃也會(huì)被打碎。
            一段使用了全局變量和硬編碼的代碼,很快會(huì)充斥大量的全局變量和硬編碼。
            posted @ 2008-09-22 14:58 小四 閱讀(1418) | 評(píng)論 (3)編輯 收藏
            僅列出標(biāo)題  下一頁(yè)
            久久久这里有精品| 日韩AV无码久久一区二区| 久久综合88熟人妻| 无码日韩人妻精品久久蜜桃| 欧美一级久久久久久久大片| 久久―日本道色综合久久| 91精品国产9l久久久久| 综合久久国产九一剧情麻豆| 四虎国产精品成人免费久久| 四虎影视久久久免费观看| 久久亚洲av无码精品浪潮| 色播久久人人爽人人爽人人片aV| 久久一区二区免费播放| 伊人精品久久久久7777| 区久久AAA片69亚洲| 久久精品国产亚洲AV不卡| 久久久久av无码免费网 | 久久久这里只有精品加勒比| 久久久久久久91精品免费观看| 欧美亚洲国产精品久久| 热re99久久6国产精品免费| www.久久热.com| 久久99久久无码毛片一区二区| 久久人人爽人人澡人人高潮AV| 亚洲欧洲精品成人久久奇米网| 久久强奷乱码老熟女网站| 久久久无码人妻精品无码| 99久久精品毛片免费播放| 青青青国产精品国产精品久久久久| 久久国产精品久久| 亚洲欧洲久久av| 久久香蕉国产线看观看99| 久久伊人中文无码| 久久Av无码精品人妻系列 | 久久亚洲精品成人av无码网站 | 欧美久久综合性欧美| 久久99国产一区二区三区| 色欲久久久天天天综合网精品| 久久久久久a亚洲欧洲aⅴ| 久久午夜夜伦鲁鲁片免费无码影视| 狠狠干狠狠久久|