日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是flash游戏?

發(fā)布時間:2024/1/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是flash游戏? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??? 首先說一下什么叫CURD,按字母來看分別是create、update、read、delete,四個單詞,狹義的說是數(shù)據(jù)庫里面的一些操作,其實更廣義的說這4個字母代表著所有的軟件開發(fā)里面的內(nèi)容,軟件開發(fā)都是在處理數(shù)據(jù),對數(shù)據(jù)進(jìn)行增刪改查。程序員其實一直都在做這些操作。而游戲開發(fā)是軟件開發(fā)里面的一種,當(dāng)然也符合這個規(guī)律。

??? flash游戲?qū)τ诔绦騿T來說其實就是對數(shù)據(jù)進(jìn)行增刪改查,外加上一些數(shù)據(jù)的邏輯操作。這里吐槽一下我以前做過的幾乎所有flash游戲都被4399轉(zhuǎn)載了,今天想說的一個射擊游戲,上4399查了一下那個游戲的英文名字(話說我之前做的游戲都是賣到國外的,所以都是英文的)居然還被我查出來了。游戲名字是BakuganBattle Brawlers,中文名應(yīng)該是爆丸吧。


不多說粘貼點代碼吧:

//處理主角受傷 public function workHurt() {if (state == "die"){this.filters = new Array;return;}var tempArr:Array = new Array;if (hurtCount > 0){hurtCount--;tempArr.push(new GlowFilter(0xFF0000, Math.sin(hurtCount * 0.25) * 0.5 + 0.5, 4, 4, 20));this.filters = tempArr;}else{this.filters = new Array;} }
??? 上面的代碼的是寫在主角類里面的,所以this.filters是直接可以用濾鏡的,這里用了紅色,效果就是讓主角受到攻擊后根據(jù)幀頻去更新hurtCount這個值,然后根據(jù)這個數(shù)所得的正弦曲線來變化這個濾鏡,會得到漸變有漸變無的效果。當(dāng)然這里還可以用其他方式實現(xiàn),用一些緩動類,例如Tweener或者TweenMax也可以做到的,這些類是別人寫好的開源工具,有興趣同學(xué)可以去看一下,功能也挺強大的,我有些游戲也用到了這些工具。還有一個比較酷的效果如下:

//產(chǎn)生殘影效果當(dāng)過關(guān)的時候主角飛走的時候會一直調(diào)用這個方法按照一個頻率一直復(fù)制出當(dāng)前主角的殘影 public function showBitMap() {var bitMap:Bitmap = DisplaytoBitMap.ChangetoBitMap(actor);shadow.addChild(bitMap); } //更新殘影層需要放到enterFrame里面一直刷這個函數(shù) public function workShadow():void {var len:int = shadow.numChildren;if (!len)return;var tempMc:Bitmap;for (var i:int = 0; i < len; i++){tempMc = shadow.getChildAt(i) as Bitmap;if (tempMc.alpha > 0){tempMc.alpha -= 0.1;}} } //返回的Bitmap的坐標(biāo)位置與Dis容器的位置相對應(yīng) public static function ChangetoBitMap(Dis:DisplayObjectContainer):Bitmap {var tempbitmapdata:BitmapData = new BitmapData(Dis.width / Dis.scaleX, Dis.height / Dis.scaleY, true, 0x00000000);var rectangle:Rectangle = Dis.getBounds(Dis.stage);var mix:Matrix = new Matrix;mix.tx -= rectangle.x;mix.ty -= rectangle.y;tempbitmapdata.draw(Dis,mix);var tempbitmap:Bitmap = new Bitmap(tempbitmapdata);tempbitmap.x += rectangle.x;tempbitmap.y += rectangle.y;return tempbitmap; }
??? 上面的代碼是在主角過關(guān)之后調(diào)用的,作用是會產(chǎn)生殘影,通過showBitMap()產(chǎn)生MovieClip的位圖對象,然后通過workShadow()去更新所有的殘影位圖對象的透明體以達(dá)到效果。話說我做了這么久,很多時候為了方便都把方法寫成公有,變量的話有時懶得整get跟set方法,不過還是建議弄get跟set方法,我這只是為了項目能更快完成而偷懶的。很多時候最快的達(dá)到目的才是工作的所要做的,所有會讓效率降低的東西一律去除,如果說我是做科研的話,必須是不能錯而且要嚴(yán)謹(jǐn)?shù)淖觥5嬲捻椖块_發(fā)根本不能去考慮那些浪費時間沒有效果的東西。這就是現(xiàn)實丫。在開發(fā)的過程中,很多時候是身不由己的,寫一個功能想到了就直接寫,方法笨不笨不用管,這個達(dá)到目的就可以了,而且要快。誰還會去想一大堆算法什么的,直截了當(dāng)?shù)淖鼍托辛恕@鏏*算法,這個我直接網(wǎng)上搜一下別人寫好的,直接拿來用,就得了,難道我還自己寫一個出來?這在實際開發(fā)中根本不允許。

總結(jié)

以上是生活随笔為你收集整理的什么是flash游戏?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。