• <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 小四 閱讀(11886) | 評(píng)論 (37)編輯 收藏

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


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

            posted @ 2014-12-03 15:14 小四 閱讀(223) | 評(píng)論 (0)編輯 收藏
                 摘要: 多年之前在WPS做算法研究的時(shí)候?qū)懙某S糜?jì)算幾何算法 C++  閱讀全文
            posted @ 2012-12-05 23:07 小四 閱讀(4762) | 評(píng)論 (0)編輯 收藏
            cocos2d-x版FishingJoy, 可做為cocos2d-x示例工程,
            包含CCSprite、CCAction、CCParticleSystem等重要類的使用方法。
            好久沒(méi)用C++,寫出的代碼帶強(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 小四 閱讀(2999) | 評(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 小四 閱讀(9940) | 評(píng)論 (2)編輯 收藏

            文件系統(tǒng)

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

            為了安全的緣故,一個(gè)應(yīng)用只能擁有一些目錄,用來(lái)寫入應(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 小四 閱讀(2083) | 評(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 小四 閱讀(1295) | 評(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 小四 閱讀(1440) | 評(píng)論 (1)編輯 收藏
            問(wèn)題在于,即使是Windows95,實(shí)時(shí)處理視頻音頻的能力依然很差,
            于是微軟制作了一個(gè)叫做Win-G的軟件,試圖解決視頻方面的問(wèn)題。
            宣傳的時(shí)候,Win-G被說(shuō)成是最佳的游戲編程和圖形子系統(tǒng),而事實(shí)
            上它只不過(guò)是一堆用于畫位圖的圖形調(diào)用而已。更有甚者,Win-G
            發(fā)布后大約一年之后,Microsoft竟然否認(rèn)了它的存在,不騙你!
            posted @ 2009-03-27 20:08 小四 閱讀(526) | 評(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 小四 閱讀(1993) | 評(píng)論 (1)編輯 收藏
            一個(gè)碎了一塊玻璃的房子,如果沒(méi)有及時(shí)修補(bǔ),很快其他的玻璃也會(huì)被打碎。
            一段使用了全局變量和硬編碼的代碼,很快會(huì)充斥大量的全局變量和硬編碼。
            posted @ 2008-09-22 14:58 小四 閱讀(1441) | 評(píng)論 (3)編輯 收藏
            僅列出標(biāo)題  下一頁(yè)
            欧美激情精品久久久久久| 91麻豆国产精品91久久久| 国产精品美女久久久久网| 久久综合欧美成人| 一本大道久久香蕉成人网| 久久国产热精品波多野结衣AV| 狠色狠色狠狠色综合久久| 国产综合免费精品久久久| 久久综合给合久久狠狠狠97色69| 97精品伊人久久久大香线蕉| 欧美精品久久久久久久自慰| 亚洲欧洲久久av| 久久99精品久久久久久齐齐| 69久久夜色精品国产69| 伊人久久精品无码av一区| 久久久青草青青国产亚洲免观| 狠狠色丁香久久综合五月| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 亚洲国产精品狼友中文久久久| 亚洲av伊人久久综合密臀性色 | 国产一区二区三区久久| 婷婷国产天堂久久综合五月| 久久久久女人精品毛片| 久久精品无码一区二区三区| 久久精品99久久香蕉国产色戒| 97久久精品无码一区二区| 久久国产成人亚洲精品影院| 久久se精品一区精品二区| 久久精品无码一区二区日韩AV| 色综合久久久久| 精品久久久久久中文字幕| 国产亚洲精久久久久久无码| 久久香蕉超碰97国产精品| 久久丫精品国产亚洲av| 久久国产精品成人片免费| 国产亚洲精品自在久久| 久久国产精品成人免费| 久久久久无码中| 久久久久亚洲AV成人网人人网站 | AA级片免费看视频久久| 国产三级精品久久|