基于Nokia S60的游戏开发之一
生活随笔
收集整理的這篇文章主要介紹了
基于Nokia S60的游戏开发之一
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本系列文章是基于Nokia Series 60和Symbian OS技術(shù),指導(dǎo)開發(fā)者在現(xiàn)在的Series 60移動(dòng)電話終端上開發(fā)高級(jí)的移動(dòng)游戲。
Symbian操作系統(tǒng)簡介
Symbian操作系統(tǒng)是所有Symbian OS電話共享的應(yīng)用編程接口( API)技術(shù)的公共核心。 這個(gè)核心被命名為"通用技術(shù)"(generic technology,簡稱為GT),它被分成不同的版本。 GT包括一個(gè)多任務(wù)核心、通訊、數(shù)據(jù)管理和圖表中間件,低級(jí)圖形用戶界面框架和應(yīng)用程序引擎。
象智能電話這樣的小型手持設(shè)備,通常是資源非常緊張的設(shè)備。 這種設(shè)備的尺寸和制造費(fèi)用限制了可用的存儲(chǔ)器,處理速度和電池壽命。 盡管以上這些資源缺乏,但是這些設(shè)備還是需要能夠穩(wěn)定運(yùn)行相當(dāng)長的一段時(shí)間,甚至數(shù)個(gè)月。 一旦出現(xiàn)資源溢出的錯(cuò)誤,對(duì)于系統(tǒng)來說重要的事情就是返回到前一個(gè)穩(wěn)定的狀態(tài),而不失去任何重要的數(shù)據(jù)。 這使得完全地捕捉和處理每個(gè)運(yùn)行錯(cuò)誤對(duì)于系統(tǒng)和應(yīng)用程序來說是非常重要的。
由于資源溢出而出現(xiàn)的錯(cuò)誤,和所有的運(yùn)行期錯(cuò)誤一樣被稱為異常。 在標(biāo)準(zhǔn)的C++中,這些異常是使用try-catch-throw機(jī)制處理的,但是因?yàn)樗斐闪舜a長度的負(fù)面影響,所以Symbian OS提供了它自己的稱為trap harness的機(jī)制。
Symbian開發(fā)他們自己的異常處理程序的另一個(gè)原因是開發(fā)Symbian OS的時(shí)候,try - catch - throw機(jī)制還不是C++標(biāo)準(zhǔn)的一部分。trap- harness的概念是使用一個(gè)TRAP宏把可能引發(fā)異常的函數(shù)封裝起來。這個(gè)宏可用于捕獲多個(gè)函數(shù),并且這些函數(shù)可以嵌套。萬一出現(xiàn)一個(gè)異常,導(dǎo)致異常的函數(shù)的執(zhí)行就會(huì)通過User::Leave函數(shù)終止,相當(dāng)于標(biāo)準(zhǔn)的C++異常處理中的throw。這被稱為一個(gè)leave(離開),它將返回程序執(zhí)行到結(jié)束的TRAP宏,在那里相應(yīng)的恢復(fù)動(dòng)作可以被執(zhí)行。
Symbian OS還提供一個(gè)工具,以便清除異常。一個(gè)cleanupstack被用于引用只被一個(gè)自動(dòng)變量引用,并且如果出現(xiàn)一個(gè)leave的時(shí)候需要被釋放的對(duì)象。TRAP宏將銷毀cleanupstack中自動(dòng)變量分配的內(nèi)存。
Symbian OS提供一個(gè)用于在單一線程之內(nèi)非搶先式多任務(wù)處理技術(shù)的系統(tǒng)。這個(gè)包括活動(dòng)對(duì)象和活動(dòng)調(diào)度程序的系統(tǒng)的設(shè)計(jì)目標(biāo)是降低運(yùn)行時(shí)間成本和解決與優(yōu)先計(jì)劃線程沖突的同步問題。Symbian OS中的每個(gè)應(yīng)用程序由一個(gè)活動(dòng)調(diào)度程序和一個(gè)或多個(gè)活動(dòng)對(duì)象組成。這個(gè)調(diào)度程序封裝一個(gè)需要異步的服務(wù)和依照它們的優(yōu)先權(quán)安排活動(dòng)對(duì)象的等待循環(huán)。活動(dòng)對(duì)象封裝實(shí)際的異步服務(wù)。
Symbian操作系統(tǒng)簡介
Symbian操作系統(tǒng)是所有Symbian OS電話共享的應(yīng)用編程接口( API)技術(shù)的公共核心。 這個(gè)核心被命名為"通用技術(shù)"(generic technology,簡稱為GT),它被分成不同的版本。 GT包括一個(gè)多任務(wù)核心、通訊、數(shù)據(jù)管理和圖表中間件,低級(jí)圖形用戶界面框架和應(yīng)用程序引擎。
象智能電話這樣的小型手持設(shè)備,通常是資源非常緊張的設(shè)備。 這種設(shè)備的尺寸和制造費(fèi)用限制了可用的存儲(chǔ)器,處理速度和電池壽命。 盡管以上這些資源缺乏,但是這些設(shè)備還是需要能夠穩(wěn)定運(yùn)行相當(dāng)長的一段時(shí)間,甚至數(shù)個(gè)月。 一旦出現(xiàn)資源溢出的錯(cuò)誤,對(duì)于系統(tǒng)來說重要的事情就是返回到前一個(gè)穩(wěn)定的狀態(tài),而不失去任何重要的數(shù)據(jù)。 這使得完全地捕捉和處理每個(gè)運(yùn)行錯(cuò)誤對(duì)于系統(tǒng)和應(yīng)用程序來說是非常重要的。
由于資源溢出而出現(xiàn)的錯(cuò)誤,和所有的運(yùn)行期錯(cuò)誤一樣被稱為異常。 在標(biāo)準(zhǔn)的C++中,這些異常是使用try-catch-throw機(jī)制處理的,但是因?yàn)樗斐闪舜a長度的負(fù)面影響,所以Symbian OS提供了它自己的稱為trap harness的機(jī)制。
Symbian開發(fā)他們自己的異常處理程序的另一個(gè)原因是開發(fā)Symbian OS的時(shí)候,try - catch - throw機(jī)制還不是C++標(biāo)準(zhǔn)的一部分。trap- harness的概念是使用一個(gè)TRAP宏把可能引發(fā)異常的函數(shù)封裝起來。這個(gè)宏可用于捕獲多個(gè)函數(shù),并且這些函數(shù)可以嵌套。萬一出現(xiàn)一個(gè)異常,導(dǎo)致異常的函數(shù)的執(zhí)行就會(huì)通過User::Leave函數(shù)終止,相當(dāng)于標(biāo)準(zhǔn)的C++異常處理中的throw。這被稱為一個(gè)leave(離開),它將返回程序執(zhí)行到結(jié)束的TRAP宏,在那里相應(yīng)的恢復(fù)動(dòng)作可以被執(zhí)行。
Symbian OS還提供一個(gè)工具,以便清除異常。一個(gè)cleanupstack被用于引用只被一個(gè)自動(dòng)變量引用,并且如果出現(xiàn)一個(gè)leave的時(shí)候需要被釋放的對(duì)象。TRAP宏將銷毀cleanupstack中自動(dòng)變量分配的內(nèi)存。
Symbian OS提供一個(gè)用于在單一線程之內(nèi)非搶先式多任務(wù)處理技術(shù)的系統(tǒng)。這個(gè)包括活動(dòng)對(duì)象和活動(dòng)調(diào)度程序的系統(tǒng)的設(shè)計(jì)目標(biāo)是降低運(yùn)行時(shí)間成本和解決與優(yōu)先計(jì)劃線程沖突的同步問題。Symbian OS中的每個(gè)應(yīng)用程序由一個(gè)活動(dòng)調(diào)度程序和一個(gè)或多個(gè)活動(dòng)對(duì)象組成。這個(gè)調(diào)度程序封裝一個(gè)需要異步的服務(wù)和依照它們的優(yōu)先權(quán)安排活動(dòng)對(duì)象的等待循環(huán)。活動(dòng)對(duì)象封裝實(shí)際的異步服務(wù)。
總結(jié)
以上是生活随笔為你收集整理的基于Nokia S60的游戏开发之一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标检测方法简介:RPN(Region
- 下一篇: 几个常用有力的特征的分析LBP、HOG、