一種基于Flash游戲圖像渲染方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于Flash游戲圖像渲染方法,首先初始化動(dòng)態(tài)位圖,然后加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù);判斷位圖數(shù)據(jù)是否含有冗余信息,并將每個(gè)位圖數(shù)據(jù)的冗余信息剔除,保留位圖數(shù)據(jù)和位置坐標(biāo)信息并依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表中。本發(fā)明采用將動(dòng)態(tài)位圖片段轉(zhuǎn)化成位圖數(shù)據(jù)進(jìn)行渲染,將不必要的數(shù)據(jù)先行剔除,提高了圖像渲染效率。同時(shí)在flash圖像中,位圖數(shù)據(jù)是可以共享的。改進(jìn)后的位圖數(shù)據(jù)列表中儲(chǔ)存為位圖數(shù)據(jù),使得位圖數(shù)據(jù)列表可以共享內(nèi)存,即在不同的位圖數(shù)據(jù)列表中存儲(chǔ)共享一份位圖數(shù)據(jù)內(nèi)存,極大的降低了資源的內(nèi)存占用量,提高了渲染效率。
【專利說明】—種基于Flash游戲圖像渲染方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種flash游戲開發(fā)領(lǐng)域,特別涉及一種基于Flash游戲圖像渲染改進(jìn)方法及系統(tǒng)。
【背景技術(shù)】
[0002]通過flash技術(shù)可以開發(fā)網(wǎng)頁游戲和手機(jī)終端上的游戲,而圖形渲染在游戲開發(fā)中占有極其重要的角色,圖形渲染效率的高低完全決定著游戲的質(zhì)量。但是flash游戲動(dòng)畫渲染通常都是使用MovieClip類提供的接口實(shí)現(xiàn)的,而MovieClip實(shí)現(xiàn)的功能過多,內(nèi)存占用過大,導(dǎo)致整個(gè)渲染效率低下。
[0003]因此需要一種提高flash在游戲中的渲染效率的方法及系統(tǒng)。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明所要解決的技術(shù)問題是提供種提高flash在游戲中的渲染效率的方法及系統(tǒng)。
[0005]本發(fā)明的目的之一是提出一種基于Flash游戲圖像渲染方法;本發(fā)明的目的之二是提出一種基于Flash游戲圖像渲染系統(tǒng)。
[0006]本發(fā)明的目的之一是通過以下技術(shù)方案來實(shí)現(xiàn)的:
[0007]本發(fā)明提供的一種基于Flash游戲圖像渲染方法,包括以下步驟:
[0008]S1:初始化動(dòng)態(tài)位圖BitmapMovie,所述動(dòng)態(tài)位圖BitmapMovie包括位圖數(shù)據(jù)集和用于存儲(chǔ)位圖數(shù)據(jù)的位圖數(shù)據(jù)列表BitmapDataList ;所述位圖數(shù)據(jù)集包括控制動(dòng)畫播放和圖片渲染的接口;
[0009]S2:將位圖數(shù)據(jù)集資源加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù)集中的每一個(gè)單獨(dú)的位圖數(shù)據(jù) BitmapData ;
[0010]S3:判斷位圖數(shù)據(jù)BitmapData是否含有冗余信息,如果否,貝Ij直接進(jìn)入S5步驟;
[0011]S4:如果是,則將每個(gè)位圖數(shù)據(jù)BitmapData的冗余信息剔除,保留位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息;
[0012]S5:將剔除冗余信息的位圖數(shù)據(jù)BitmapData依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中。
[0013]進(jìn)一步,所述動(dòng)態(tài)位圖BitmapMovie還設(shè)置有動(dòng)態(tài)位圖的調(diào)用接口 ;
[0014]所述調(diào)用接口按以下方式進(jìn)行工作:
[0015]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫播放接口時(shí),內(nèi)部就間隔時(shí)間按指定順序遍歷位圖數(shù)據(jù)列表BitmapDataList列表,并將渲染的位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息提交到flash渲染舞臺(tái),調(diào)用flash自身接口完成圖像渲染;
[0016]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫暫停接口時(shí),內(nèi)部停止遍歷,并且將當(dāng)前的正在渲染的位圖設(shè)定在渲染舞臺(tái);
[0017]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫移除接口時(shí),內(nèi)部停止遍歷,將所有位圖數(shù)據(jù)BitmapData進(jìn)行置0或者清空,并且將動(dòng)態(tài)位圖BitmapMovie移除渲染列表,釋放其占用內(nèi)存。
[0018]本發(fā)明的目的之二是通過以下技術(shù)方案來實(shí)現(xiàn)的:
[0019]本發(fā)明提供的一種基于Flash游戲圖像渲染系統(tǒng),包括動(dòng)態(tài)位圖初始化模塊、位圖數(shù)據(jù)集解析模塊、位圖數(shù)據(jù)冗余信息判斷模塊、位圖數(shù)據(jù)渲染圖像存儲(chǔ)模塊和位圖數(shù)據(jù)渲染圖像編號模塊;
[0020]所述動(dòng)態(tài)位圖初始化模塊,用于初始化動(dòng)態(tài)位圖BitmapMovie,所述動(dòng)態(tài)位圖BitmapMovie包括位圖數(shù)據(jù)集和用于存儲(chǔ)位圖數(shù)據(jù)的位圖數(shù)據(jù)列表BitmapDataList ;所述位圖數(shù)據(jù)集包括控制動(dòng)畫播放和圖片渲染的接口;
[0021]所述位圖數(shù)據(jù)集解析模塊,用于將位圖數(shù)據(jù)集資源加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù)集中的每一個(gè)單獨(dú)的位圖數(shù)據(jù)BitmapData ;
[0022]所述位圖數(shù)據(jù)冗余信息判斷模塊,用于判斷位圖數(shù)據(jù)BitmapData是否含有冗余信息,并將無冗余信息的位圖數(shù)據(jù)按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中;
[0023]所述位圖數(shù)據(jù)渲染圖像存儲(chǔ)模塊,用于剔除位圖數(shù)據(jù)BitmapData的冗余信息并保留位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息;
[0024]所述位圖數(shù)據(jù)渲染圖像編號模塊,用于將剔除冗余信息的位圖數(shù)據(jù)BitmapData依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中。
[0025]進(jìn)一步,還包括動(dòng)態(tài)位圖調(diào)用接口模塊,所述動(dòng)態(tài)位圖調(diào)用接口模塊按以下方式進(jìn)行工作:
[0026]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫播放接口時(shí),內(nèi)部就間隔時(shí)間按指定順序遍歷位圖數(shù)據(jù)列表BitmapDataList列表,并將渲染的位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息提交到flash渲染舞臺(tái),調(diào)用flash自身接口完成圖像渲染;
[0027]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫暫停接口時(shí),內(nèi)部停止遍歷,并且將當(dāng)前的正在渲染的位圖設(shè)定在渲染舞臺(tái);
[0028]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫移除接口時(shí),內(nèi)部停止遍歷,將所有位圖數(shù)據(jù)BitmapData進(jìn)行置0或者清空,并且將動(dòng)態(tài)位圖BitmapMovie移除渲染列表,釋放其占用內(nèi)存。
[0029]本發(fā)明的有益效果在于:本發(fā)明采用將MovieClip轉(zhuǎn)化成BttmapData進(jìn)行渲染,克服了傳統(tǒng)的flash原始渲染動(dòng)畫采用MovieClip效率比較低的弊端,因?yàn)镸ovieClip含有眾多使用很少的數(shù)據(jù)。本發(fā)明根據(jù)實(shí)際應(yīng)用情況,將不必要的數(shù)據(jù)先行剔除,以此達(dá)到高效的目地。同時(shí)在flash圖像中,BitmapData數(shù)據(jù)是可以共享的。改進(jìn)后的BitmapDataList列表中儲(chǔ)存的正是BitmapData數(shù)據(jù),使得BitmapDataList可以共享內(nèi)存,即在不同的BitmapDataList中存儲(chǔ)共享一份BitmapData內(nèi)存,極大的降低了資源的內(nèi)存占用量,提高了渲染效率。
【專利附圖】
【附圖說明】
[0030]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述,其中:
[0031]圖1為本發(fā)明實(shí)施例提供的基于Flash游戲圖像渲染方法流程圖;
[0032]圖2為本發(fā)明實(shí)施例提供的基于Flash游戲圖像渲染系統(tǒng)示意圖。
【具體實(shí)施方式】
[0033]以下將參照附圖,對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。應(yīng)當(dāng)理解,優(yōu)選實(shí)施例僅為了說明本發(fā)明,而不是為了限制本發(fā)明的保護(hù)范圍。
[0034]圖1為本發(fā)明實(shí)施例提供的基于Flash游戲圖像渲染方法流程圖,如圖所示:本發(fā)明提供的一種基于Flash游戲圖像渲染方法,包括以下步驟:
[0035]S1:初始化動(dòng)態(tài)位圖BitmapMovie,所述動(dòng)態(tài)位圖BitmapMovie包括位圖數(shù)據(jù)集和用于存儲(chǔ)位圖數(shù)據(jù)的位圖數(shù)據(jù)列表BitmapDataList ;所述位圖數(shù)據(jù)集包括控制動(dòng)畫播放和圖片渲染的接口;
[0036]S2:將位圖數(shù)據(jù)集資源加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù)集中的每一個(gè)單獨(dú)的位圖數(shù)據(jù) BitmapData ;
[0037]S3:判斷位圖數(shù)據(jù)BitmapData是否含有冗余信息,如果否,則直接進(jìn)入S5步驟;
[0038]S4:如果是,則將每個(gè)位圖數(shù)據(jù)Bi tmapData的冗余信息剔除,即對位圖數(shù)據(jù)BitmapData進(jìn)行優(yōu)化,保留位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息;
[0039]S5:將剔除冗余信息的位圖數(shù)據(jù)BitmapData依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中。
[0040]所述動(dòng)態(tài)位圖BitmapMovie還設(shè)置有動(dòng)態(tài)位圖的調(diào)用接口 ;
[0041]所述調(diào)用接口按以下方式進(jìn)行工作:
[0042]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫播放接口時(shí),內(nèi)部就間隔時(shí)間按指定順序遍歷位圖數(shù)據(jù)列表BitmapDataList列表,并將渲染的位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息提交到flash渲染舞臺(tái),調(diào)用flash自身接口完成圖像渲染;
[0043]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫暫停接口時(shí),內(nèi)部停止遍歷,并且將當(dāng)前的正在渲染的位圖設(shè)定在渲染舞臺(tái);
[0044]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫移除接口時(shí),內(nèi)部停止遍歷,將所有位圖數(shù)據(jù)BitmapData進(jìn)行置0或者清空,并且將動(dòng)態(tài)位圖BitmapMovie移除渲染列表,釋放其占用內(nèi)存。
[0045]圖2為本發(fā)明實(shí)施例提供的基于Flash游戲圖像渲染系統(tǒng)示意圖,如圖所示,本實(shí)施例還提供了一種基于Flash游戲圖像渲染系統(tǒng),包括動(dòng)態(tài)位圖初始化模塊、位圖數(shù)據(jù)集解析模塊、位圖數(shù)據(jù)冗余信息判斷模塊、位圖數(shù)據(jù)渲染圖像存儲(chǔ)模塊和位圖數(shù)據(jù)渲染圖像編號模塊;
[0046]所述動(dòng)態(tài)位圖初始化模塊,用于初始化動(dòng)態(tài)位圖BitmapMovie,所述動(dòng)態(tài)位圖BitmapMovie包括位圖數(shù)據(jù)集和用于存儲(chǔ)位圖數(shù)據(jù)的位圖數(shù)據(jù)列表BitmapDataList ;所述位圖數(shù)據(jù)集包括控制動(dòng)畫播放和圖片渲染的接口;
[0047]所述位圖數(shù)據(jù)集解析模塊,用于將位圖數(shù)據(jù)集資源加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù)集中的每一個(gè)單獨(dú)的位圖數(shù)據(jù)BitmapData ;
[0048]所述位圖數(shù)據(jù)冗余信息判斷模塊,用于判斷位圖數(shù)據(jù)BitmapData是否含有冗余信息,并將無冗余信息的位圖數(shù)據(jù)按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中;
[0049]所述位圖數(shù)據(jù)渲染圖像存儲(chǔ)模塊,用于剔除位圖數(shù)據(jù)BitmapData的冗余信息并保留位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息;
[0050]所述位圖數(shù)據(jù)渲染圖像編號模塊,用于將剔除冗余信息的位圖數(shù)據(jù)BitmapData依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中。
[0051]還包括動(dòng)態(tài)位圖調(diào)用接口模塊,所述動(dòng)態(tài)位圖調(diào)用接口模塊按以下方式進(jìn)行工作:
[0052]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫播放接口時(shí),內(nèi)部就間隔時(shí)間按指定順序遍歷位圖數(shù)據(jù)列表BitmapDataList列表,并將渲染的位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息提交到flash渲染舞臺(tái),調(diào)用flash自身接口完成圖像渲染;
[0053]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫暫停接口時(shí),內(nèi)部停止遍歷,并且將當(dāng)前的正在渲染的位圖設(shè)定在渲染舞臺(tái);
[0054]當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫移除接口時(shí),內(nèi)部停止遍歷,將所有位圖數(shù)據(jù)BitmapData進(jìn)行置O或者清空,并且將動(dòng)態(tài)位圖BitmapMovie移除渲染列表,釋放其占用內(nèi)存。
[0055]最后說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管通過參照本發(fā)明的優(yōu)選實(shí)施例已經(jīng)對本發(fā)明進(jìn)行了描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對其作出各種各樣的改變,而不偏離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍。
【權(quán)利要求】
1.一種基于Flash游戲圖像渲染方法,其特征在于:包括以下步驟: S1:初始化動(dòng)態(tài)位圖BitmapMovie,所述動(dòng)態(tài)位圖BitmapMovie包括位圖數(shù)據(jù)集和用于存儲(chǔ)位圖數(shù)據(jù)的位圖數(shù)據(jù)列表BitmapDataList ;所述位圖數(shù)據(jù)集包括控制動(dòng)畫播放和圖片渲染的接口; S2:將位圖數(shù)據(jù)集資源加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù)集中的每一個(gè)單獨(dú)的位圖數(shù)據(jù) BitmapData ; S3:判斷位圖數(shù)據(jù)BitmapData是否含有冗余信息,如果否,則直接進(jìn)入S5步驟; S4:如果是,則將每個(gè)位圖數(shù)據(jù)BitmapData的冗余信息剔除,保留位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息; S5:將剔除冗余信息的位圖數(shù)據(jù)BitmapData依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中。
2.根據(jù)權(quán)利要求1所述的基于Flash游戲圖像渲染方法,其特征在于:所述動(dòng)態(tài)位圖BitmapMovie還設(shè)置有動(dòng)態(tài)位圖的調(diào)用接口 ; 所述調(diào)用接口按以下方式進(jìn)行工作: 當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫播放接口時(shí),內(nèi)部就間隔時(shí)間按指定順序遍歷位圖數(shù)據(jù)列表BitmapDataList列表,并將渲染的位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息提交到flash渲染舞臺(tái),調(diào)用flash自身接口完成圖像渲染; 當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫暫停接口時(shí),內(nèi)部停止遍歷,并且將當(dāng)前的正在渲染的位圖設(shè)定在渲染舞臺(tái); 當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫移除接口時(shí),內(nèi)部停止遍歷,將所有位圖數(shù)據(jù)BitmapData進(jìn)行置O或者清空,并且將動(dòng)態(tài)位圖BitmapMovie移除渲染列表,釋放其占用內(nèi)存。
3.一種基于Flash游戲圖像渲染系統(tǒng),其特征在于:包括動(dòng)態(tài)位圖初始化模塊、位圖數(shù)據(jù)集解析模塊、位圖數(shù)據(jù)冗余信息判斷模塊、位圖數(shù)據(jù)渲染圖像存儲(chǔ)模塊和位圖數(shù)據(jù)渲染圖像編號模塊; 所述動(dòng)態(tài)位圖初始化模塊,用于初始化動(dòng)態(tài)位圖BitmapMovie,所述動(dòng)態(tài)位圖BitmapMovie包括位圖數(shù)據(jù)集和用于存儲(chǔ)位圖數(shù)據(jù)的位圖數(shù)據(jù)列表BitmapDataList ;所述位圖數(shù)據(jù)集包括控制動(dòng)畫播放和圖片渲染的接口; 所述位圖數(shù)據(jù)集解析模塊,用于將位圖數(shù)據(jù)集資源加載進(jìn)入內(nèi)存,解析取出位圖數(shù)據(jù)集中的每一個(gè)單獨(dú)的位圖數(shù)據(jù)BitmapData ; 所述位圖數(shù)據(jù)冗余信息判斷模塊,用于判斷位圖數(shù)據(jù)BitmapData是否含有冗余信息,并將無冗余信息的位圖數(shù)據(jù)按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中;所述位圖數(shù)據(jù)渲染圖像存儲(chǔ)模塊,用于剔除位圖數(shù)據(jù)BitmapData的冗余信息并保留位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息; 所述位圖數(shù)據(jù)渲染圖像編號模塊,用于將剔除冗余信息的位圖數(shù)據(jù)BitmapData依次取出來,按順序編號依次儲(chǔ)存在位圖數(shù)據(jù)列表BitmapDataList中。
4.根據(jù)權(quán)利要求1所述的基于Flash游戲圖像渲染系統(tǒng),其特征在于:還包括動(dòng)態(tài)位圖調(diào)用接口模塊,所述動(dòng)態(tài)位圖調(diào)用接口模塊按以下方式進(jìn)行工作: 當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫播放接口時(shí),內(nèi)部就間隔時(shí)間按指定順序遍歷位圖數(shù)據(jù)列表BitmapDataList列表,并將渲染的位圖數(shù)據(jù)BitmapData和位置坐標(biāo)信息提交到flash渲染舞臺(tái),調(diào)用flash自身接口完成圖像渲染; 當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫暫停接口時(shí),內(nèi)部停止遍歷,并且將當(dāng)前的正在渲染的位圖設(shè)定在渲染舞臺(tái); 當(dāng)外部調(diào)用動(dòng)態(tài)位圖BitmapMovie的動(dòng)畫移除接口時(shí),內(nèi)部停止遍歷,將所有位圖數(shù)據(jù)BitmapData進(jìn)行置O或者清空,并且將動(dòng)態(tài)位圖BitmapMovie移除渲染列表,釋放其占用內(nèi)存。
【文檔編號】G06T15/00GK104240284SQ201410530824
【公開日】2014年12月24日 申請日期:2014年10月10日 優(yōu)先權(quán)日:2014年10月10日
【發(fā)明者】熊仕勇, 潘豪, 林金朝, 周敏, 田航, 李沁翰, 唐浩, 聶婧, 吳建, 張喜平, 王江濤, 劉秋戀 申請人:重慶郵電大學(xué)