
一、怎樣用代碼玩游戲
怎樣用代碼玩游戲如下:
1、通過參考不同的游戲,寫出你想做的游戲的劇情和劇本。有很多類型的游戲。根據(jù)自己喜歡的游戲類型,參考不同的游戲,寫出自己想做的游戲的劇情。
2、根據(jù)游戲的劇情和劇本,使用手繪軟件繪制游戲人物的圖形和背景。
3、通過建模軟件,將平面圖制作成三維模型效果。建模軟件有很多種,通過建模軟件可以將平面圖形制作成三維模型效果。比如使用常用的建模軟件3dmax。
4、學習游戲制作軟件的操作,讓制作游戲的效率更高。游戲制作的軟件有很多種,比如使用Unity3D開發(fā)游戲,熟悉游戲制作軟件的操作,這樣制作會更快。制作結(jié)束便可以進行游戲玩耍。
編寫游戲代碼的方法如下:
1、打開Flash后,選擇新建actionscript。
2、文件選擇導(dǎo)入到舞臺,將需要被測試的素材導(dǎo)入到舞臺中。
3、點擊素材后,轉(zhuǎn)化為影片剪輯,并點擊屬性為素材命名。
4、點擊新建文件,新建一個as文件用于寫代碼。
5、在as層的第一幀右擊選擇動作。
6、在動作中編寫鼠標點擊,鼠標彈起,鼠標按下代碼后關(guān)掉。
7、按CTRL加ENTER即可對游戲進行測試即可編寫代碼。
二、怎么把代碼變?yōu)橛螒?/h2>
1.編程所寫的代碼是如何變成游戲的
人能識別有意義的字母、數(shù)字組合,就是代碼。電腦機器只能識別0和1的二進制數(shù)字組合。人寫的代碼不能直接被電腦識別,需要一個翻譯的過程,這個過程叫"編譯",把對人有意義的代碼轉(zhuǎn)換為對電腦有意義的二進制碼。
你看到的游戲畫面是電腦理解了這些二進制碼之后的結(jié)果。電腦根據(jù)二進制碼來進行游戲圖像渲染、處理玩家的鍵盤鼠標操作信息。
舉個簡單的例子吧,假設(shè)人寫的代碼如下:
Action action= drawCar();
boolean goLeftBool= getInputLeftArrow();
if(goLeftBool){
action.setLocation(action.getLocation().getX()--, action.getLocation().getY());
}這段代碼大概意思是:畫輛車,玩家按左,車往左走。編譯之后形成下面這樣的二進制碼:
0010101010000101011111011101101010000101100101
0111011111011010000111010101010110001010111101
1010110001010101010101101101101010101010101011
0010101111010101011010101010101110110111011010
0101110101011001010110110110101010001010101011其中每行代表源代碼中的一句。就像黑客帝國一樣,哈哈。這樣電腦才能理解。
這是個例子而已,真正編譯出來的二進制碼比這個要多得多!
2.有沒有大神能簡單易懂的介紹一下一個游戲的制作過程,是怎么從代碼
1、制作前準備:準備好以下幾樣?xùn)|西刻錄機游戲原盤空白CDR CDRWIN(3.8x推薦) Echelon的自啟教程及hack工具 cdrtools-1.9a03-win32-bin工具包 1.4G左右的硬盤空間 newfile.exe(dummy生成工具)在硬盤上做出以下的目錄 X:\xxxx\selfboot X:\xxxx\selfboot\data其中X:任意,xxxx也任意,在根目錄也可以把Echelon自啟工具及cdrtools-1.9a03-win32-bin工具包及newfile.exe都放在selfboot目錄下。
先看看游戲源盤有多大的容量,如果容量數(shù)+20mb已經(jīng)超過74分鐘的盤,就要用80分鐘的盤了。如果超過80分鐘的盤,就可能沒戲了。
2、ok。準備開始制作 a.把1ST_READ.BIN和IP.BIN拷到selfboot目錄中。
有些時候1ST_READ.BIN有可能是別的名字,如果找不到1ST_READ.BIN,就用hex editor打開IP.BIN看看文件最頂上V.001XXXXXXXX????.BIN,這個????.BIN就是要找的。不過copy到selfboot目錄里都要!保持原名!,為方便起見這里我們統(tǒng)稱1ST_READ.BIN。
b.把游戲盤中!除了!1ST_READ.BIN和IP.BIN以外的所有文件都拷到data目錄下。 c.!把以上兩個步驟所拷的文件都去掉只讀! d.運行CDRWIN,選擇Record Disc,點右邊load tracks。
點Add,選擇由Echelon工具包中的audio.raw,確定。!選Open New Session!,開始刻錄第一軌。
e.!注意,以下操作只需要進行一次!運行dos命令行,在selfboot目錄里運行 cdrecord-scanbus得出的結(jié)果可以找到你的刻錄機的代號為x,x,x,如0,1,0再運行(這時候剛剛刻了音軌的盤要放在刻錄機中,否則有可能不能測數(shù)值) cdrecord-dev=0,1,0-msinfo可以得到0,11700(也有0,11702的)記住這兩組數(shù)值,以后再做自啟盤時就不需要進行這項操作了。 f.對1ST_READ.BIN和IP.BIN進行修改運行dos命令,在selfboot目錄運行 binhack.exe第一行輸入1ST_READ.BIN!大寫!第二行輸入IP.BIN!大寫!第三行輸入11700(如果你是11702,就輸入11702) g.把1ST_READ.BIN拷到data目錄里 h.這時候看看data目錄有多大,如果需要加dummy就進行dummy制作.dummy大小的計算。
650mb-data目錄大小mb-20mb=dummy大小,其中20mb是第一個音軌已經(jīng)用掉的大小。但為保險起見再減去20mb左右。
..例如dummy需要160mb,在dos下運行newfile 160,000,000。把生成的00dummy.dat移到data目錄中。
i. ISO生成制作一個叫isoit.bat的批處理文件 mkisofs-C 0,11700-V%1-l-o DATA.ISO DATA!嚴格按此大小寫! 0,11700是cdrecord-dev=x,x,x-msinfo得到的數(shù)值%1內(nèi)容為卷標變量在dos下運行isoit%1,如制作街霸3 3rd Strike的ISO,就運行isoit SF3_3如果不愿意每次另加卷標,把%1換成你自己喜歡的名字。運行后會有一個warning,不要管。
j.把IP.BIN插入ISO在dos下運行ipins.exe第一行輸入IP.BIN!大寫!第二行輸入DATA.ISO!大寫! k.刻錄第二軌這里本人推存使用工具包中的cdrecord.exe,而不是cdrwin。因為cdrecord.exe是在dos中直接對刻錄機進行操作的,不需要其他亂七八糟的鏈文件,也沒有GUI,相對穩(wěn)定安全許多,而且做成batch文件后要比cdrwin方便。
制作一個叫burn.bat的批處理文件 cdrecord-dev=0,1,0-xa1-speed=4 DATA.ISO-dev=后面的參數(shù)是在cdrecord-scanbus中得到的數(shù)值-speed=后的數(shù)字是指刻錄速度,自己根據(jù)需要修改。制作完成后,如果不能馬上試,先放到光驅(qū)里讀一下,如果能列出目錄就說明基本成功了。
*文中加!!的文字都是需要特別注意的。
三、自動玩游戲,手游腳本究竟是怎么做的
手游現(xiàn)在已經(jīng)成為大家打發(fā)碎片化時間的一種很普遍的方式了,而有的人會由于種種愿意不能自己去玩,就希望有什么辦法或者工具能幫助我們解決這個問題,不用人收著也能完成任務(wù)。
實現(xiàn)原理:
比如一個游戲的任務(wù),你需要在不同的手機屏幕上進行一系列點擊,滑動,甚至輸入文本,發(fā)送語音等動作后才能完成,而這一切操作其實就是手機中會記錄這些動作的文件,文件存儲的是一個又一個的信號量,這些信號然后根據(jù)不同廠商的設(shè)定反饋給上層,而上層會根據(jù)反饋的信息轉(zhuǎn)換成統(tǒng)一識別的事件,事件最后響應(yīng)給應(yīng)用,并對信息進行相應(yīng)的處理,最后呈現(xiàn)給用戶并實現(xiàn)它,這一些列的動作都是可以通過一些現(xiàn)有的工具或者說解決方案來幫我們實現(xiàn)自動游戲的功能。
一般實現(xiàn)的方式:
1.通過USB連接電腦,然后通過ADB(一種android的調(diào)試工具,當然iOS也有類似的工具一個原理)對手機進行遠程的控制;
2.通過在手機中安裝一個控制其它app的app來控制,說簡單點就是生成一個手機應(yīng)用,在手機中運行后,直接通過這個應(yīng)用對其它應(yīng)用進行操作;
實現(xiàn)方式我們明白了,那么要借助哪些工具或者說哪些解決方案來幫我們進行實現(xiàn)呢。
易語言解決方案:
首先我們來說一說這個被大多數(shù)人所知道的,但是又被"正統(tǒng)"程序員所抵觸的編程語言。
這是一款運用中文進行編程的語言,可以說它讓大多數(shù)人擺脫了"英文魔咒",很多人認為學習編程其實就是學英語,或者英語不好沒辦法學習編程,這其實是錯誤的理解,這個后話了,等我有空了再為大家分享下如何擺脫這個魔咒。
優(yōu)勢:
1.中文化編程,中文畢竟是我們的母語,在更加讓人容易理解;
2.在游戲相關(guān)領(lǐng)域有非常成熟的框架,或者中支持庫;
3.使用這種解決方案的人群非常多,當你遇到問題時很容易找到解決辦法;
劣勢:
1.代碼的編譯速度相對其他語言來說很慢;(對于現(xiàn)在的電腦硬件來說其實已經(jīng)沒啥大礙)
2.會被其他編程語言鄙視,太local化了,沒有那種國際感;
3.收費;(雖然作者初衷是推廣中文編程,但是推廣也是要錢的嘛,能理解)
4.易語言需要進行一定的學習,相對其他幾個解決方案來說難度略高;
易語言解決方案由于是中文的并且有大量現(xiàn)成知識庫做支撐,很容易就能實現(xiàn)功能,所以一直被用來作為中控型的腳本來編寫,不大會被用來進行生成app的方式來進行(有app化的解決辦法,但是不穩(wěn)定不討論)
按鍵精靈解決方案:
案件精靈可以說是這個領(lǐng)域里,歷史悠久且非常出色的一位前輩。非常簡單就能上手,甚至有通過錄像然后轉(zhuǎn)成腳本的錄制功能,當然要制作出優(yōu)秀的腳本也需要進行一定的學習;
優(yōu)勢:
1.非常簡單,容易上手,有非常豐富的快捷方式;
2.有錄制功能,更進一步降低了制作門檻;
3.歷史悠久人群穩(wěn)定,所以社區(qū)也很穩(wěn)定,遇到問題很容易找到解決辦法(注意我說的是群體,不是按鍵精靈的論壇。)
4.按鍵精靈非常良好的提供了解決方案,即可生成app直接手機中運行,也可以通過安裝按鍵的android版然后傳送腳本進行運行。
劣勢:
1.付費,且不便宜;
2.代碼框架實現(xiàn)是基于英文實現(xiàn);
3.無法進行分文件管理,就是說所有業(yè)務(wù)要寫進一個文本里,這其實非常不方便管理和維護;
按鍵精靈解決方案,比較適合對編程沒有什么基礎(chǔ)的朋友上手。網(wǎng)絡(luò)上也有非常多的免費教程可以進行學習。
觸動精靈解決方案:
觸動精靈是近幾年新啟一個新的平臺,是基于lua語言來進行編寫開發(fā)的,與按鍵精靈類似,不過相對按鍵的名聲赫赫,就有點顯得小很多。
優(yōu)勢:
1.支持文件化管理開發(fā);(這點其實非常棒,對于后期的代碼開發(fā)或者維護來說都很棒)
2.基于lua開發(fā),所以可以完美利用lua的原表特性來進行一些框架搭建,更加適用于負責的點擊事件;
3.擁有一套完善的支持自動化的庫,可以直接拿來使用;
4.支持遠程調(diào)試,腳本傳到手機中運行,也可以生成app進行控制;
劣勢:
1.需要學習lua語言,對小白來說有點不友好;
2.需要付費,相對按鍵來說比較便宜;
3.偏小眾,出問題想找解決辦法非常難找;
4.對于android和iOS系統(tǒng)收取不同的費用來打包生成apk;
5.代碼框架也是基于英文進行實現(xiàn)的;
觸動精靈的解決方案,好于能利用lua的原表特性來進行自定義框架開發(fā),方便自己的后續(xù)的多次開發(fā)。網(wǎng)絡(luò)上也有很多的教程來進行學習,就是遇到問題需要解決的時候,總會找不到辦法,這里有點難受。
Auto.js解決方案:
這套方案是借助于android手機的無障礙服務(wù)進行實現(xiàn)的,根據(jù)控件的id進行一系列的事件響應(yīng),精準度更高。
優(yōu)勢:
1.無需root就可以實現(xiàn)控制手機;
2.可在手機中運行,也可以打包成apk運行;
3.通過控件id進行控制,準確度非常高,并且自適應(yīng)分辨率;
劣勢:
1.對游戲不大友好,因為游戲很多時候控件都不規(guī)則,都是一個個畫布;
2.需要學習js;
3.基于英文實現(xiàn)的代碼框架;
Auto.js這個解決方案,對于游戲來說并不大友好,雖然也有找圖找色等功能,但是使用起來并沒有按鍵或者觸動那么方便,并且由于是基于空間id進行控制,并不大適合游戲。
其他解決方案:
其實還有其他非常多的類似的解決方案,但是大多數(shù)都沒上面列舉的這些被人熟知。
舉個例子像python也擁有非常豐富的類庫,但是只能適應(yīng)使用usb連接手機的通過adb進行控制這樣的操作,無法生成一個apk來安裝到手機中進行操作,我也曾嘗試過在手機中模擬一個python環(huán)境,但是依賴的類庫無法非常方便的移植到手機中,就算靜態(tài)編譯過去也非常的耗時,所以python也能實現(xiàn)但是他很不友好,也很不方便,學習成本也非常高。











