你需要一個Macromedia Flash,目前的最新版本是8,不過它的體積很大。你可以使用Flash5或者FlashMX(不是MX 2004)。這是目前功能最全且體積還可以令人接受,而且市場上針對這兩個版本的圖書也是最多的 另外,編寫小游戲還需要一些ActiveScript
本文我們將從以下幾個部分來詳細介紹如何制作Flash游戲:開始制作、寫一個基本的游戲、進階技巧、參考
Flash是網(wǎng)頁瀏覽器上很流行的動畫格式,很多網(wǎng)站中都能見到這種格式的游戲。盡管面對日益增長的移動應(yīng)用程序,F(xiàn)lash格式不再那么流行,但是很多好玩的游戲仍是采用Flash格式。Flash使用的語言是ActionScript,用它可以控制屏幕上出現(xiàn)的對象,而且十分易學(xué)。閱讀本文,學(xué)習(xí)如何制作一個簡單的Flash游戲。部分 1開始制作
額,你打算用FLASH來做RPG的游戲? 除非你是計算機高手,精通FLASH程序的語言,因為用FLASH做游戲很麻煩的,一個最簡單的格斗游戲就要輸入幾千字的腳步,所以我是放棄了用FLASH做游戲了。 推薦一款非常好的游戲制作軟件,如果是XP系統(tǒng)的是叫RPG
第1步:設(shè)計游戲。
你知道嗎?這對flash新手來說是非常難的。 給你一個超小的游戲: stage.addEventListener(MouseEvent.CLICK,action); function action (e:MouseEvent):void{ var r:int = Math.random*10; if(r == 1){ trace("你中獎了!"); }else{ trace("抱歉
在編寫代碼之前,你要對你的游戲有個大概的設(shè)想。Flash適合制作一些比較簡單的游戲,所以不要在游戲中加入過多的傷腦筋的設(shè)計。先選擇一種游戲的類型,并且構(gòu)思幾種基本的設(shè)計,然后再開始制作。閱讀本文可以了解更多有關(guān)游戲設(shè)計階段的內(nèi)容。常見的Flash游戲類型,包括:
http://games.enet.com.cn/article/SearchCategory.php?d_keyword=flash8.0%B6%AF%BB%AD%D6%C6%D7%F7%BD%CC%B3%CC 視頻教學(xué): http://www.sou5.cn/sou5/showArt.php?id=2723 http://www2.flash8.net/teach/3235.htm 你去看看吧
跑酷游戲:游戲中的人物一直在跑,而玩家需要控制人物跳過障礙物,或以其它方式躲過。玩家通常只有一兩種控制方式。
第一步:對flash界面了解,對軟件了解。同時思考為什么選擇用FLASH來制作游戲而不選擇JAVA語言或其他。你需要熟練操作flash軟件并能進行動畫制作。 第二步:目前flash游戲開發(fā)需要用到Actionscript3.0語言,如果你已經(jīng)有其他程序設(shè)計經(jīng)驗最好,
橫軸格斗游戲:人物橫向移動,擊敗身邊的敵人才能繼續(xù)前進。這種游戲中,通常有幾種不同的動作來擊敗敵人。
你有基礎(chǔ)嗎? 制作flash小游戲可不是你想的那么簡單 需要一個Adobe Flash CS 之類的軟件 這里有百度文庫里的教程 http://wenku.baidu.com/course/view/134f852458fb770bf78a5504?fr=view 你如果看得懂,就可以制作flash小游戲了
解謎游戲:這種游戲需要讓玩家解出謎題,從而過關(guān)。謎題類型多種多樣,可以像《寶石迷陣》那種三消游戲一樣簡單,也可以像是在冒險游戲中出現(xiàn)的謎題一樣復(fù)雜。
第一步,我們收集與本游戲相關(guān)的素材,分別是:小貓,老鼠,小路,以及路標的圖片。 第二步,我們開始進行游戲的制作。我們選擇使用flash軟件進行制作。首先,打開FLASH,選擇file/new新建文件,如圖1所示: 圖1 然后,選擇Insert/new symbol新
角色扮演游戲:這類游戲的核心在于角色的發(fā)展和提升,角色會在各種場景中遇到不同的敵人。盡管各個游戲的戰(zhàn)斗機制不完全相同,但是大多數(shù)還是回合制。角色扮演游戲要比只有一個動作的游戲要復(fù)雜得多。
添加有計分板,在贏了,輸了,平手都會出現(xiàn)相應(yīng)動態(tài)和播放相應(yīng)的音樂。2.0制作的
第2步:Flash擅長制作的游戲。
連連看? 我的方法很簡單的效果,但可以實現(xiàn)連連看的游戲效果 首先在FLASH場景第一幀寫入一下語言: //W:方塊邊長 var W:Number = 50; //ROW:初始矩陣行數(shù) var ROW:Number = 8; //COL:初始矩陣列數(shù) var COL:Number = 12; //PIC:圖片類型數(shù) var P
Flash最適合制作2D游戲,盡管也可以制作3D游戲,但是這要需要用到更高級的編程語言,并且對語言有著深入的了解。幾乎所有成功的Flash游戲都是2D游戲。
這種不是游戲,你可以用4個幀,分別畫上從1片葉子到4片葉子,澆一次花(就是點一下按鈕),就向后面跳一鄭
Flash游戲最適合小段時間玩。這是因為大多數(shù)Flash游戲玩家都會在一小段空閑時間玩游戲,比如休息時,也就是說游戲時間通常在15分鐘或者更短的時間內(nèi)。
編程是必不可少的..【不會去買書】做游戲需要個軟件,一般用gamemake教程太多了就看你的闖關(guān)是怎么樣的,賽車的還是殺怪的.搜一下就搜到了
第3步:熟悉AS3語言。
這個以前在學(xué)校學(xué)過需要用到制作軟件具體怎么弄我忘了可以百度一下有相關(guān)的教程如果學(xué)會了制作各種的小游戲可以使用更多的功能現(xiàn)在制作的軟件有很多的我以前在學(xué)校做的并不多可能我覺得有些復(fù)雜你自己試試就知道了
制作Flash游戲需要用到AS3語言,為了成功的制作出游戲,你需要對它的工作原理有所了解。對如何在AS3中編程所有了解之后,你就能制作出簡單的游戲了。
1.后依次雙擊Adobe Flash Professional CS6—;setup安裝,安裝后進入Adobe Flash CS6文件夾,雙擊Flash文件,長這樣。 打開是這樣的 2.新建ActionScript 3.0,因為我們是用cocos2d做的對對碰,我們從極客學(xué)院看的教程邊學(xué)邊做,第一次用flash,所
在亞馬遜或者其他商店中,都有關(guān)于ActionScript語言的教程,網(wǎng)上也有很多教程和例子可供學(xué)習(xí)。
好像現(xiàn)在制作小游戲,不是用這種東西,用SWF或者什么2維動畫制作起來著再說這個制作關(guān)系到程序,設(shè)計,還有各種各樣的專業(yè)領(lǐng)域不是想做就能做的╮(╯▽╰)╭樓主我勸你還是玩玩別人做的經(jīng)典吧這個網(wǎng)站不錯,你看看,就知道了www.miniclip.com
第4步:下載Flash Professional。
我這里有一個傻瓜游戲制作軟件,不會用的人也不用學(xué),網(wǎng)址是http://szgwbn.skycn.com/down/HA-RPGXP_102.exe 加分吧!
這個軟件是收費的,但是用它可以很快的制作出Flash游戲。同時它還包含很多功能(包括一些開源的功能),不過這些功能有的兼容性差,有的效率低。
第一步,我們收集與本游戲相關(guān)的素材,分別是:小貓,老鼠,小路,以及路標的圖片。 第二步,我們開始進行游戲的制作。我們選擇使用flash軟件進行制作。首先,打開FLASH,選擇file/new新建文件,如圖1所示: 圖1 然后,選擇Insert/newsymbol新建
Flash Professional是制作游戲唯一需要用到的軟件。
你需要一個Macromedia Flash,目前的最新版本是8,不過它的體積很大。你可以使用Flash5或者FlashMX(不是MX 2004)。這是目前功能最全且體積還可以令人接受,而且市場上針對這兩個版本的圖書也是最多的 另外,編寫小游戲還需要一些ActiveScript
部分 2寫一個基本的游戲
我做flash游戲已經(jīng)10年了,前幾年也有這個想法,不過因為我的技術(shù)已經(jīng)達到了一定的程度,因此我想就就是做3d的《俠盜獵車》,當然最后的效果肯定不能和PC版的比,但達到70%左右應(yīng)該沒問題,但考慮到制作周期,收益預(yù)算等方面的原因,只有算了。
第1步:了解AS3代碼的基本構(gòu)建塊。
http://www.enet.com.cn/eschool/video/flashcs4/
在制作游戲的過程中,你可能會用到幾種不同的代碼結(jié)構(gòu)。在AS3代碼中,主要有三種類型的代碼結(jié)構(gòu):
flash非常好弄。準備好必要的圖片 音樂。。之后調(diào)整好摁鈕和幀數(shù)就可以。。你先 弄劇本。之后弄圖片 設(shè)計好的圖片。。之后把圖片按一幀一幀的弄好插背景音樂。很簡單的
變量 —— 這是用來儲存數(shù)據(jù)的地方。數(shù)據(jù)的類型種類很多,可以是數(shù)字、字符(字符串)、對象等等。使用var命令來定義變量,并且變量名只能是一個單詞。
1 如果有AS3的基礎(chǔ)(如果有java基礎(chǔ)也行,JAVA和AS3很像),建議直接看別人的源代碼。這種方式很痛苦,但是效果最好。 2 如果沒有AS3基礎(chǔ),建議先學(xué)習(xí)AS3的基本編程知識。網(wǎng)上有很多免費的資源的。如:www.9ria.com www.flash8.net www.blueidea
var playerHealth:Number = 100;// “var”表示你要定義一個變量。// “playerHealth”是變量的名字。// “Number”是變量的類型。// “100”是變量中的數(shù)值。// 所有命令都以“;”結(jié)尾。
教程我已經(jīng)發(fā)給你了。QQ:8402…… 不過我想說的是,即使你是買書的,那些說所謂“全面的”都是騙人的。即使做一個小游戲,基本的actionscript 總要懂吧??不然就算是把游戲的源碼給你了,你也看不懂,更不用說改,那寫就更不可能。而且一般的flash
事件處理器 —— 事件處理器會在特定的事發(fā)生時,告訴程序之后該如何運行。這是玩家在輸入和重復(fù)代碼時所必須用到的。事件處理器通常會調(diào)用函數(shù)。
addEventListener(MouseEvent.CLICK, swingSword);// “addEventListener()” 定義事件處理器的類型。// “MouseEvent”是事件的類型。// “.CLICK”是事件中的特定動作。// “swingSword”是事件發(fā)生后,需要用到的函數(shù)。
函數(shù) —— 部分代碼會有一個關(guān)鍵詞作為名字,方便之后調(diào)用。游戲的運行離不開函數(shù),復(fù)雜的游戲可能會用到數(shù)百條函數(shù),而簡單的游戲可能只需要用到幾條函數(shù)。函數(shù)只有被調(diào)用時才會起作用,所以它們的順序無所謂。
function swingSword (e:MouseEvent):void;{//代碼的位置}// “function”是每個函數(shù)之前都要有的關(guān)鍵詞。// “swingSword”是函數(shù)名。// “e:MouseEvent”是附加參數(shù),表明函數(shù)是由該事件處理器調(diào)用的。// “:void”是函數(shù)的返回值。如果無數(shù)據(jù)返回,使用:void。
第2步:創(chuàng)建對象。
要制作游戲,你必須創(chuàng)建可以和玩家互動的對象。根據(jù)教程的不同,“對象”可能會叫做“精靈”、“演員”或者“影片剪輯”。要制作這個簡單的游戲,你需要創(chuàng)建一個長方形。
打開Flash Professional。創(chuàng)建新的項目。
點擊工具欄中的矩形工具。根據(jù)軟件的配置不同,工具欄的位置也會不同。在當前窗口中畫一個長方形。
用選擇工具,選中長方形。
第3步:給對象指定屬性。
選中長方形之后,打開設(shè)計菜單,選擇“轉(zhuǎn)化為元件”(也可在選中之后,按下F8)。在“轉(zhuǎn)化為元件”窗口中,給你的對象命名,比如“敵人”。
打開配置窗口。當鼠標懸停在窗口上方時,會出現(xiàn)一個叫“實例名”的空白文本框。輸入上一步中你給對象的命名(“敵人”)。這樣就創(chuàng)建了一個可以通過AS3語言交互的“名字”。
每一個“實例”都是單獨的對象,都可以用代碼進行控制。點擊資源庫標簽,然后將實例拖進場景中,就可以復(fù)制已創(chuàng)建的實例。每添加一個實例,它的名字就會改變一次,以示區(qū)分(“敵人”、“敵人1”、“敵人2”等等)。
要在代碼中使用對象,只需要輸入它的名字即可,本例中就是“敵人”。
第4步:改變實例的屬性。
生成一個實例之后,你可以通過AS3改變它的屬性。改變它的位置、調(diào)整它的大小,等等。輸入實例和參數(shù)的數(shù)字,中間以“.”分隔,就可以改變它的屬性:
enemy.x = 150; 改變enemy在x軸上的位置。
enemy.y = 150; 改變enemy在y軸上的位置。y軸是從屏幕頂端開始計算的。
enemy.rotation = 45;讓enemy順時針旋轉(zhuǎn)45度。
enemy.scaleX = 3;將enemy的寬延長3倍。輸入負數(shù)的話,就會翻轉(zhuǎn)對象。
enemy.scaleY = 0.5;將對象的高減半。
第5步:使用trace()命令檢查。
這個命令將當前值返回給對象,用來檢查程序運行是否無誤。在最終代碼中不需要用到這個命令,通常使用這個命令來檢查游戲的錯誤。
第6步:利用上述信息制作一個游戲。
現(xiàn)在,你已經(jīng)對它的核心功能有所了解了,現(xiàn)在你可以用它來制作一個小游戲。游戲是這樣的:每次點擊敵人都會改變它的大小,生命耗盡,游戲結(jié)束。
var enemyHP:Number = 100; // 將初始生命設(shè)為100。var playerAttack:Number = 10; // 設(shè)定玩家的攻擊力。 enemy.addEventListener(MouseEvent.CLICK, attackEnemy); // 對對象使用這個函數(shù),當對象被點擊時才會生效,點擊其它地方不會有效果。 setEnemyLocation(); // 這個函數(shù)可以設(shè)定“敵人”的位置,在游戲開始時生效。 function setEnemyLocation ():void{ enemy.x = 200; // 讓“敵人”向右移動200像素。 enemy.y = 150; // 讓“敵人”向下移動150像素。 enemy.rotation = 45; // 讓“敵人”瞬時針轉(zhuǎn)動45度 trace("enemys x-value is", enemy.x, "and enemys y-value is", enemy.y); // 顯示當前“敵人”的位置,從而進行調(diào)試。} function attackEnemy (e:MouseEvent):void // 創(chuàng)建“敵人”被點擊時運行的函數(shù)。{ enemyHP = enemyHP - playerAttack; // 從生命值中減去攻擊力,結(jié)果是剩余的生命值。 enemy.scaleX = enemyHP / 100; // 根據(jù)新的生命值,改變寬度。除以100,轉(zhuǎn)化為小數(shù)。 enemy.scaleY = enemyHP / 100; // 根據(jù)新的生命值,改變寬度。 trace("The enemy has", enemyHP, "HP left"); //輸入“敵人”的生命值。}
第7步:運行一下。
完成上述代碼之后,你就可以試試你的新游戲了。點擊控制菜單,選擇測試影片,游戲就開始了。點擊“敵人”,看看它的大小是否變化了。Trace函數(shù)的輸出結(jié)果會顯示在結(jié)果窗口中。
部分 3進階技巧
第1步:“包”的功能。
ActionScript是基于Java設(shè)計,用到了很多和Java類似的包機制?!鞍笨梢栽试S你用獨立的文件儲存變量、常量、函數(shù)和其它信息,然后將這些文件輸入到程序中。使用現(xiàn)成的包可以簡化游戲的制作過程。
閱讀更多的文章來了解Java中“包”的功能。
第2步:建立對象文件夾。
如果你的游戲當中需要用到很多圖片和生效,那么你需要創(chuàng)建一個文件夾來保存它們。這可以方便你儲存不同的數(shù)據(jù),以及需要的軟件包。
創(chuàng)建根目錄,然后在根目錄中,創(chuàng)建“img”文件夾,用來儲存所有圖像;創(chuàng)建“snd”文件夾,用來儲存所有音效文件;創(chuàng)建“src”文件,用來儲存所有用到的包和代碼。
在“src”文件夾中,創(chuàng)建“Game”文件夾,用來儲存游戲中的常量文件。
當然沒有必要將文件夾的結(jié)構(gòu)弄成這樣,但是這可以方便你管理你的游戲和素材,特別是要用到很多對象的游戲。如果只是像上文中的小游戲一樣簡單,你就不需要用到這種文件夾結(jié)構(gòu)。
第3步:給你的游戲添加音效。
沒有音效或音樂的游戲,很容易讓人乏味。使用圖層工具,可以給對象加上音效。詳情可以參閱相關(guān)文章。
第4步:創(chuàng)建常量文件。
如果游戲中的很多變量的值,自始至終都不變,那么你可以創(chuàng)建常量文件來儲存它們,這可以方便調(diào)用。常量可以包含引力、玩家速度或者其它你需要經(jīng)常調(diào)用的值。
如果你要創(chuàng)建常量文件,你需要將它們放到游戲的文件夾中,然后以包的形式輸入。比如,你創(chuàng)建了一個常量文件,然后將它放到“Game”文件夾中。導(dǎo)入時,使用如下命令:
package{import Game.*;}
第5步:看看別人的游戲。
盡管大多數(shù)開發(fā)者不會透漏所有的游戲代碼,但是有很多教程和其它開放項目的代碼可以供你參考,讓你了解代碼和它與對象的交互方法。這是一個很好的可以學(xué)習(xí)到很多進階技巧,從而讓你的游戲更出色的方法。
參考
http://www.adobe.com/devnet/flash/articles/flash_cs5_createfla.html
http://as3gametuts.com/2011/03/12/getting-started-with-as3-2/
http://www.makeflashgames.com/tutorials/gameframework.php
擴展閱讀,以下內(nèi)容您可能還感興趣。
用FLASH怎么制作一個小游戲——石頭剪刀布
添加有計分板,在贏了,輸了,平手都會出現(xiàn)相應(yīng)動態(tài)和播放相應(yīng)的音樂。2.0制作的
連連 flash小游戲 怎么制作
連連看?
我的方法很簡單的效果,但可以實現(xiàn)連連看的游戲效果
首先在FLASH場景第一幀寫入一下語言:
//W:方塊邊長
var W:Number = 50;
//ROW:初始矩陣行數(shù)
var ROW:Number = 8;
//COL:初始矩陣列數(shù)
var COL:Number = 12;
//PIC:圖片類型數(shù)
var PIC:Number = 8;
//GRID:矩陣方塊數(shù)
var GRID:Number = ROW*COL;
//BLINKTIME:連通線閃爍次數(shù)
var BLINKTIME:Number = 6;
//LINETHICK:連通線寬度
var LINETHICK:Number = 8;
//LINECOLOR:連通線顏色
var LINECOLOR:Number = 0xFF6666;
//LINEALPHA:連通線透明度
var LINEALPHA:Number = 80;
//COUNT:剩余方塊數(shù)
var COUNT:Number = 0;
//SCORECOLOR:剩余方塊計數(shù)顏色
var SCORECOLOR:Number = 0xFF0000;
//SCORESIZE:剩余方塊計數(shù)字號
var SCORESIZE:Number = 24;
//SCOREFONT:剩余方塊計數(shù)字體
var SCOREFONT:String = "Vineta BT";
//TIMECOLOR:計時顏色
var TIMECOLOR:Number = 0xFF0000;
//TIMESIZE:計時字號
var TIMESIZE:Number = 20;
//TIMEFONT:計時字體
var TIMEFONT:String = "Vineta BT";
//CONGCOLOR:祝賀語顏色
var CONGCOLOR:Number = 0xFF0000;
//CONGSIZE:祝賀語字號
var CONGSIZE:Number = 48;
//CONGFONT:祝賀語字體
var CONGFONT:String = "Ballade Contour";
//GAMERUNNING:游戲是否在進行的標志,該標志為true才計時
var GAMERUNNING:Boolean = false;
//START_TIME:游戲開始時刻
var START_TIME:Date;
//END_TIME:游戲進行中的當前時刻
var END_TIME:Date;
//useTime:游戲所用時間:當前時刻-開始時刻
var useTime:Number;
//picArr:圖片數(shù)組,根據(jù)該數(shù)組中元素的值決定當前位置放置哪種圖片
var picArr:Array = new Array(GRID);
//tmpArr:用于產(chǎn)生隨機數(shù)組的輔助數(shù)組
var tmpArr:Array = new Array(GRID);
//matrix:存放整個界面情況的二維數(shù)組,元素為1時表明當前位置有方塊,元素為0時表明當前位置無方塊
var matrix:Array = new Array(1+ROW+1);
for (var i = 0; i<1+ROW+1; i++) {
matrix[i] = new Array(1+COL+1);
}
//picOne:所選第一個方塊的圖案編號
var picOne:Number;
//picTwo:所選第二個方塊的圖案編號
var picTwo:Number;
//posOne:所選第一個方塊的位置編號
var posOne:Number;
//posTwo:所選第二個方塊的位置編號
var posTwo:Number;
//調(diào)用函數(shù)initPic()開始游戲
initPic();
//函數(shù)initPic()開始游戲
function initPic() {
picOne = -1;
picTwo = -1;
posOne = -1;
posTwo = -1;
COUNT = GRID;
//初始化圖片位置數(shù)組
initArr();
//初始化界面情況數(shù)組
initMatrix();
//產(chǎn)生隨機圖片位置數(shù)組
randArr();
如何用flash制作簡單的小游戲?
這種不是游戲,你可以用4個幀,分別畫上從1片葉子到4片葉子,澆一次花(就是點一下按鈕),就向后面跳一幀。
怎么制作一個Flash小游戲?
編程是必不可少的.....【不會去買書】做游戲需要個軟件,一般用gamemake教程太多了...就看你的闖關(guān)是怎么樣的,賽車的還是殺怪的.......搜一下就搜到了
如何制作flash小游戲,如何學(xué)習(xí)flash as語言?
free pascal 看這個書
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com