多媒體 使用多媒體聲音 多媒體功能在游戲中是必不少的一部分,優(yōu)美的音樂(lè),漂亮的界面往往是一個(gè)成功游戲必需具備的條件。
在開(kāi)始之前我們先了解一下主要的小型聲音文件類(lèi)型: AU - (擴(kuò)展名為AU或SND)適用于短的聲音文件,為Solaris和下一代機(jī)器的通用文件格式,也是JAVA平臺(tái)的標(biāo)準(zhǔn)的音頻格式。AU類(lèi)型文件使用的三種典型音頻格式為: 8位μ-law類(lèi)型(通常采樣頻率為8kHz), 8位線性類(lèi)型,以及16位線性類(lèi)型。
WAV - (擴(kuò)展名為WAV)由 Microsoft和 IBM共同開(kāi)發(fā),對(duì)WAV的支持已經(jīng)被加進(jìn)Windows 95并且被延伸到Windows 98. WAV文件能存儲(chǔ)各種格式包括μ-law,a-law和 PCM (線性)數(shù)據(jù)。他們幾乎能被所有支持聲音的Windows應(yīng)用程序播放。
AIFF - (擴(kuò)展名為AIF或IEF)音頻互換文件格式是為Macintosh計(jì)算機(jī)和Silicon Graphics (SGI)計(jì)算機(jī)所共用的標(biāo)準(zhǔn)音頻文件格式。AIFF和 AIFF-C幾乎是相同的,除了后者支持例如μ-law和 IMA ADPCM類(lèi)型的壓縮。
MIDI - (擴(kuò)展名為MID)樂(lè)器數(shù)字接口MIDI是為音樂(lè)制造業(yè)所認(rèn)可的標(biāo)準(zhǔn),主要用于控制諸如合成器和聲卡之類(lèi)的設(shè)備。 在JDK1.0上,java只支持*.au格式的聲音文件,但是java2的API以及聲音包提供了很強(qiáng)大的對(duì)聲音技術(shù)的支持。
而此部分為了讓大家快速掌握游戲編程的基本知識(shí),我們僅使用了AudioClip接口類(lèi)來(lái)實(shí)現(xiàn)播放"*.wav"。如果大家有興趣可參考sun java網(wǎng)站的聲音sapmle,上面提供了完備的實(shí)例和教程說(shuō)明。
使用AudioClip接口比較簡(jiǎn)單,我們只要實(shí)例對(duì)象,加載聲音文件后,再在任何地方播放即可?;謴?fù)和播放聲音最簡(jiǎn)單的方法是通過(guò)Applet類(lèi)的play()方法。
AudioClip接口 1.播放 play 2.循環(huán) loop 3.停止 stop 啟動(dòng)和停止聲音文件,或循環(huán)播放,你必須用 applet的 getAudioClip方法把它裝載進(jìn)入 AudioClip對(duì)象,getAudioClip方法要用一個(gè)或兩個(gè)參數(shù),當(dāng)作播放的指示。第一個(gè)或唯一的一個(gè)參數(shù)是 URL參數(shù),用來(lái)指示聲音文件的位置,第二參數(shù)是文件夾路徑指針。
下列代碼行舉例說(shuō)明加載聲音文件進(jìn)入剪貼對(duì)象: 下面的"gun.wav"是指當(dāng)前目錄下的聲音文件。我們也可用*.au格式的文件代替。
AudioClip co = getAudioClip(getCodeBase(), "gun.wav"); getAudioClip()方法僅僅能被applet內(nèi)調(diào)用。隨著JAVA2的引入,應(yīng)用程序也能用Applet類(lèi)的newAudioClip方法裝入聲音文件。
前一例子可以改寫(xiě)如下以用于Java應(yīng)用程序: AudioClip co = newAudioClip(“gun.wav”) 我們現(xiàn)在可在任何地方使用方法play()播放我們的聲音了。play()一旦被調(diào)用立刻開(kāi)始恢復(fù)和播放聲音。
但這有一點(diǎn)要注意:如果聲音文件不能被查找,將不會(huì)有出錯(cuò)信息,僅僅是沉默。 圖片處理技術(shù) 圖片的處理和聲音的處理在一樣簡(jiǎn)單。
設(shè)置圖片變量,得到圖形,最后繪制圖形。我們就直接從代碼來(lái)分析。
在此我們繪制一幅applet的背景圖。開(kāi)始繪制前,我們先要聲明圖形變量,用來(lái)存放圖形文件。
Image backImage; // 加載圖片文件 backImgage = getImage (getCodeBase (), "black.gif"); 下面在我們的paint()方法中利用函數(shù)drawImage繪制我們圖形。 g.drawImage (backImage, 0, 0, this); DrawImage參數(shù)中的blackImage即我們得到的圖形,而后面的0,0分別代表圖形的x坐標(biāo)和y坐標(biāo).this:為圖形代表的類(lèi),這里指的即picture類(lèi)。
在這里建議大家使用*.gif格式的圖片文件。因?yàn)槿绻莍nternet網(wǎng)上,文件的大小也決定了你的applet加載時(shí)的快慢,沒(méi)有人很愿意等很長(zhǎng)時(shí)間來(lái)玩你的游戲,即使你的游戲比較出色。
源代碼及演示程序下載. 大家在玩游戲時(shí)是不是見(jiàn)過(guò)人物圖像行走?動(dòng)物來(lái)回跑動(dòng)的動(dòng)畫(huà)?這些都是基于圖形技術(shù)來(lái)實(shí)現(xiàn)的。我們只要把上面的代碼稍微修改,用數(shù)組變量來(lái)存儲(chǔ)我們得到的圖形文件組,再利用drawImage()方法播放出來(lái)就可實(shí)現(xiàn)動(dòng)畫(huà)圖片的播放. Image[] backImage; // 加載圖片文件 for (int i=4,i{ backImgage[i] = getImage (getCodeBase (), "t1"+i+".gif"); } 大家可參考JDK包中的Animation例子,它就是一個(gè)很好的播放一組圖片文件的例子。
五、事件處理 鼠標(biāo)監(jiān)聽(tīng)技術(shù) 玩游戲時(shí),不管是小型的撲克牌和大型的RPG游戲,都要參與者溶入到游戲的角色當(dāng)中。不錯(cuò),交互,游戲有了交互的功能才可以說(shuō)是一個(gè)完整的游戲。
即使是編程游戲如機(jī)器人足球,Robocode都要程序員參與編寫(xiě)代碼,觀察比賽。有兩種主流方法可實(shí)現(xiàn)游戲的交互:鼠標(biāo)和鍵盤(pán)。
當(dāng)然還包括手操桿等,但現(xiàn)在大部分Pc機(jī)上使用的還是鼠標(biāo)和鍵盤(pán)。我們就以這兩項(xiàng)為基礎(chǔ)來(lái)說(shuō)明游戲中事件的響應(yīng)過(guò)程。
要判斷相應(yīng)的鼠標(biāo)所進(jìn)行的動(dòng)作:是點(diǎn)擊,還是移動(dòng)。我們必須對(duì)我們鼠標(biāo)進(jìn)行監(jiān)聽(tīng)。
要監(jiān)聽(tīng)鼠標(biāo)事件就必須調(diào)用這些接口之一,或擴(kuò)展一個(gè)鼠標(biāo)適配器(mouse adapters) 類(lèi). AWT 提供了兩種監(jiān)聽(tīng)接口(listener interface): java.awt.event.MouseListener 和 java.awt.event.MouseMotionListener. 現(xiàn)在我設(shè)計(jì)一個(gè)鼠標(biāo)事件,當(dāng)點(diǎn)擊applet屏幕時(shí),下降的球向反方向運(yùn)動(dòng)。以實(shí)現(xiàn)了對(duì)游戲的簡(jiǎn)單控制。
MouseListener一共有5個(gè)方法,主要用來(lái)實(shí)現(xiàn)鼠標(biāo)的點(diǎn)擊事件。這里要注意一點(diǎn):由于MouseListener是接口。
網(wǎng)絡(luò)游戲程序設(shè)計(jì)師(了解怎樣開(kāi)發(fā)在線游戲。
掌握 C 和 C++ 程序語(yǔ)言。 掌握基本的游戲算法,C和 C++ 編程,熟悉Windows 編程。
了解在線游戲的框架,掌握游戲客戶端和服務(wù)器段開(kāi)發(fā)技術(shù),掌握基本的游戲程序開(kāi)發(fā)) 培訓(xùn)內(nèi)容: 游戲概論、使用在游戲里的 C/C++、基本的Windows 編程、使用在游戲里的數(shù)據(jù)結(jié)構(gòu)、使用在游戲里的算法、游戲策劃,使用在線游戲的 C/C++。使用在游戲里的數(shù)學(xué), 物理。
基本的DirectX 和 OpenGL基礎(chǔ)。深入理解游戲中的角色和場(chǎng)景。
游戲概論 ——游戲的歷史, 技術(shù), 種類(lèi) 。開(kāi)發(fā)游戲的方法 。
使用在游戲的數(shù)學(xué) 。使用在游戲的物理數(shù)學(xué) 。
在線游戲里的網(wǎng)絡(luò)理論 游戲基礎(chǔ) ——C 語(yǔ)言編程基礎(chǔ)(Hello Game! 基本輸入輸出,數(shù)據(jù)類(lèi)型 (data type),指針 (pointer) ,結(jié)構(gòu) (Structure),File I/O) ——C++ 語(yǔ)言編程基礎(chǔ)(C++ 基本知識(shí),數(shù)據(jù)類(lèi)型, 內(nèi)存管理,Stream I/O,類(lèi),Scope 相關(guān)的 operator,基本函數(shù)和運(yùn)算符重載,模板,異常處理) ——VC(Visual C++)基礎(chǔ)(創(chuàng)建VC 項(xiàng)目 ,Window 信息 ,Win32 API 結(jié)構(gòu) ,了解 ATL/COM/MFC 技術(shù) ,String ,了解 DLL 程序 ,Event handling ,Multi Threading ,Win32 系統(tǒng)程序) ——游戲和數(shù)據(jù)結(jié)構(gòu)(Array ,Multi-Dimensional Array ,Linked-list ,Stack 和 Queue ,Hash Tables ,Recursion ,Tree ,Binary Tree ,Binary Search Tree ,Priority Queue and Heap) ——游戲和算法(游戲設(shè)計(jì) (地形) 設(shè)計(jì) ,設(shè)計(jì)角色類(lèi) ,設(shè)計(jì)怪獸類(lèi) ,角色和怪獸打斗設(shè)計(jì) ,角色和怪獸的移動(dòng)設(shè)計(jì) ,Game Trees and Minimax Trees ,Graphs ,使用Graphs來(lái)實(shí)現(xiàn)人工智能) 游戲策劃 ——游戲策劃概論 。設(shè)想游戲世界 。
設(shè)想游戲里出現(xiàn)的角色 。表現(xiàn)游戲里的競(jìng)爭(zhēng)(戰(zhàn)斗) 。
設(shè)想游戲內(nèi)的經(jīng)濟(jì)系統(tǒng) 游戲?qū)崙?zhàn) ——DirectX基礎(chǔ)(設(shè)備初始化 ,頂點(diǎn)渲染 ,矩陣 ,創(chuàng)建光并使用光 ,紋理的使用方法 ,網(wǎng)格使用的方法) ——OpenGL的基礎(chǔ)(介紹 ,狀態(tài)管理及圖形的處理 ,攝像機(jī)及投影變換 ,顏色 ,光 ,融合, 抗鋸齒, 霧 ,顯示列表 ,加載位圖, 紋理貼圖 ,圖形畫(huà)面緩沖區(qū)) 深入學(xué)習(xí) ——游戲角色(MD2 模型的使用方法 (網(wǎng)格), (紋理), (動(dòng)畫(huà)) ,MilkShape 使用方法 ,MDL 模型的使用方法 ,MD3 模型的使用方法) ——游戲場(chǎng)景地形(基本場(chǎng)景的類(lèi), 高度地圖 ,創(chuàng)建碎形地形 ,紋理使用的方法 ,光的使用方法 ,創(chuàng)建地形,介紹算法 ,創(chuàng)建地形算法 CLOD ,創(chuàng)建地形算法 八叉樹(shù) ,創(chuàng)建地形算法 ROAM) ——服務(wù)器編程基礎(chǔ)(網(wǎng)絡(luò)理論 ,TCP 套接字 服務(wù)器端和客戶端 ,UDP 套接字 服務(wù)器端和客戶端 ,設(shè)計(jì)信息包 ,制作聊天服務(wù)器 ,制作套接字類(lèi) ,介紹數(shù)據(jù)庫(kù) ,SQL 語(yǔ)言 ,C, C++ API ,制作大廳服務(wù)器 ,設(shè)計(jì)在線彈球游戲) 優(yōu)良的培訓(xùn)環(huán)境: 交通便利、環(huán)境優(yōu)美的教學(xué)環(huán)境,配備多間高級(jí)電腦網(wǎng)絡(luò)教室,為每位學(xué)員專(zhuān)門(mén)配備一臺(tái)全新高配置電腦。 科學(xué)的課程體系: 以韓國(guó)舟城大學(xué)5年來(lái)培養(yǎng)數(shù)以千計(jì)網(wǎng)絡(luò)游戲人才的優(yōu)秀課程為基礎(chǔ),結(jié)合國(guó)內(nèi)游戲廠商實(shí)際開(kāi)發(fā)需要,并以大量成功運(yùn)行游戲?yàn)榘咐麻_(kāi)發(fā)的優(yōu)秀課程體系,為培養(yǎng)優(yōu)秀游戲人才提供了最基本的保證。
有效的教學(xué)模式: 以提高實(shí)際技能和就業(yè)為導(dǎo)向,授課包括理論講授和知識(shí)點(diǎn)練習(xí),項(xiàng)目實(shí)戰(zhàn)在教師的指導(dǎo)下按照項(xiàng)目小組的方式進(jìn)行實(shí)際游戲項(xiàng)目開(kāi)發(fā),由專(zhuān)家精選的大量實(shí)際案例、項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)訓(xùn)練貫穿于全部課程中,學(xué)員學(xué)練結(jié)合、學(xué)以致用,培養(yǎng)實(shí)際工作能力。 國(guó)際化專(zhuān)家型授課師資: 韓國(guó)舟城大學(xué)游戲?qū)I(yè)教授和專(zhuān)家 韓國(guó)舟城大學(xué)認(rèn)證網(wǎng)絡(luò)游戲講師 國(guó)際、國(guó)內(nèi)知名游戲公司設(shè)計(jì)總監(jiān)、開(kāi)發(fā)工程師 授課教師均具有多年游戲設(shè)計(jì)開(kāi)發(fā)經(jīng)驗(yàn),游戲開(kāi)發(fā)領(lǐng)域資深專(zhuān)家,所有教師均獲得韓國(guó)游戲產(chǎn)業(yè)開(kāi)發(fā)院、韓國(guó)舟城大學(xué)聯(lián)合頒發(fā)的高級(jí)培訓(xùn)師認(rèn)證證書(shū)。
甘老師,資深網(wǎng)絡(luò)游戲開(kāi)發(fā)專(zhuān)家,在盛大網(wǎng)絡(luò)游戲傳奇世界游戲開(kāi)發(fā)中負(fù)責(zé)防黑客和主體開(kāi)發(fā),2001年留學(xué)日本早稻田大學(xué)專(zhuān)攻游戲主體和防黑客技術(shù)。是國(guó)內(nèi)為數(shù)不多的精通網(wǎng)絡(luò)游戲開(kāi)發(fā)全方位技術(shù)的專(zhuān)家之一。
張老師,資深手機(jī)游戲開(kāi)發(fā)專(zhuān)家和培訓(xùn)講師,曾榮獲SonyEricsson中國(guó)開(kāi)發(fā)商應(yīng)用大賽2等獎(jiǎng),曾在多家手機(jī)游戲開(kāi)發(fā)公司擔(dān)任主要技術(shù)開(kāi)發(fā)工作,負(fù)責(zé)完成了一系列各種類(lèi)型的游戲:八寶其偷內(nèi)衣、數(shù)字美人、廿一點(diǎn)、電動(dòng)撲克、百家樂(lè)、加勒比、擊劍、乒乓球、跳遠(yuǎn)、跳水、投標(biāo)槍、X棋等。 賈老師,資深網(wǎng)絡(luò)游戲圖形設(shè)計(jì)師,曾在著名網(wǎng)絡(luò)游戲開(kāi)發(fā)公司第三波從事美術(shù)制作、設(shè)計(jì)的工作多年,參加制作了:寵物王、四大名捕、開(kāi)店王等多款游戲! 超強(qiáng)的就業(yè)競(jìng)爭(zhēng)力: 牢固掌握游戲設(shè)計(jì)與開(kāi)發(fā)技能 獲得大量的成功案例實(shí)際開(kāi)發(fā)經(jīng)驗(yàn) 熟悉游戲設(shè)計(jì)與開(kāi)發(fā)實(shí)際工作流程 具備項(xiàng)目開(kāi)發(fā)小組團(tuán)隊(duì)協(xié)作能力和溝通能力 國(guó)際權(quán)威認(rèn)證:游戲行業(yè)最具價(jià)值的國(guó)際認(rèn)證 韓國(guó)舟城大學(xué)和韓國(guó)游戲產(chǎn)業(yè)開(kāi)發(fā)院聯(lián)合為考試合格學(xué)員頒發(fā)相應(yīng)國(guó)際通用網(wǎng)絡(luò)游戲資質(zhì)證書(shū)(中韓文):網(wǎng)絡(luò)游戲程序開(kāi)發(fā)工程師認(rèn)證證書(shū)。
完善的就業(yè)服務(wù): 韓國(guó)舟城大學(xué)與韓國(guó)、日本等國(guó)內(nèi)外知名游戲廠商、運(yùn)營(yíng)商、技術(shù)服務(wù)商建立了密切的戰(zhàn)略合作伙伴關(guān)系。
本科專(zhuān)業(yè)
動(dòng)畫(huà)專(zhuān)業(yè) 培養(yǎng)系統(tǒng)掌握動(dòng)畫(huà)藝術(shù)與技術(shù)、具備較為深厚的文化與科學(xué)知識(shí)背景的,能在全國(guó)電視臺(tái)、電影制片廠、動(dòng)畫(huà)制作公司、網(wǎng)絡(luò)公司、游戲研發(fā)公司等單位從事動(dòng)畫(huà)導(dǎo)演、動(dòng)畫(huà)編劇、動(dòng)畫(huà)設(shè)計(jì)、動(dòng)畫(huà)制作、游戲設(shè)計(jì)及游戲研發(fā)等方面的創(chuàng)造性人才。該專(zhuān)業(yè)下設(shè)動(dòng)畫(huà)編導(dǎo)、動(dòng)畫(huà)設(shè)計(jì)和數(shù)字動(dòng)畫(huà)三個(gè)方向。 數(shù)字媒體藝術(shù)專(zhuān)業(yè) 數(shù)字媒體藝術(shù)專(zhuān)業(yè)是由我院在國(guó)內(nèi)首創(chuàng),填補(bǔ)了中國(guó)高等教育相關(guān)領(lǐng)域的空白。 本專(zhuān)業(yè)培養(yǎng)具有扎實(shí)的數(shù)字媒體技術(shù)應(yīng)用基礎(chǔ)和藝術(shù)理論基礎(chǔ),掌握數(shù)字技術(shù)在影視藝術(shù)領(lǐng)域、網(wǎng)絡(luò)多媒體藝術(shù)領(lǐng)域中的應(yīng)用原理、基本知識(shí)和技能,并獲得系統(tǒng)的數(shù)字藝術(shù)創(chuàng)作訓(xùn)練,能在影視特效藝術(shù)以及網(wǎng)絡(luò)多媒體藝術(shù)領(lǐng)域中進(jìn)行創(chuàng)作實(shí)踐、科學(xué)研究和教學(xué)的高級(jí)專(zhuān)門(mén)人才。該專(zhuān)業(yè)下設(shè)數(shù)字影視制作方向、網(wǎng)絡(luò)多媒體方向、游戲設(shè)計(jì)方向。 數(shù)字媒體藝術(shù)(游戲設(shè)計(jì)方向) 本專(zhuān)業(yè)方向培養(yǎng)系統(tǒng)掌握游戲設(shè)計(jì)基本理論和基本方法,熟悉掌握游戲開(kāi)發(fā)的基本技術(shù)和工具環(huán)境,熟練掌握電腦游戲、網(wǎng)絡(luò)游戲和手機(jī)游戲設(shè)計(jì)與制作技術(shù),熟悉各種游戲類(lèi)型及其設(shè)計(jì)風(fēng)格,掌握游戲設(shè)計(jì)流程中角色、環(huán)境、游戲機(jī)制與結(jié)構(gòu),具備一定的審美能力和藝術(shù)素養(yǎng),能在游戲公司、門(mén)戶網(wǎng)站、電視臺(tái)、手機(jī)內(nèi)容提供企業(yè)、動(dòng)畫(huà)公司等單位從事游戲設(shè)計(jì)、策劃、開(kāi)發(fā)、運(yùn)營(yíng)、管理等方面工作的富于競(jìng)爭(zhēng)力和創(chuàng)新精神的高級(jí)復(fù)合型人才。[2]
研究生專(zhuān)業(yè)
2007年初經(jīng)教育部學(xué)位管理與研究生教育司批準(zhǔn),我院自主增列了二個(gè)博士學(xué)位二級(jí)學(xué)科授權(quán)點(diǎn)(動(dòng)畫(huà)學(xué)、數(shù)字媒體藝術(shù)學(xué))及三個(gè)碩士學(xué)位二級(jí)學(xué)科授權(quán)點(diǎn)(動(dòng)畫(huà)學(xué)、數(shù)字媒體藝術(shù)、游戲設(shè)計(jì))。 動(dòng)畫(huà)學(xué)專(zhuān)業(yè)碩士研究生培養(yǎng)方向:動(dòng)畫(huà)產(chǎn)業(yè)研究、動(dòng)畫(huà)理論與實(shí)踐;博士研究生培養(yǎng)方向:動(dòng)畫(huà)產(chǎn)業(yè)研究、動(dòng)畫(huà)理論與實(shí)踐。 數(shù)字媒體藝術(shù)學(xué)專(zhuān)業(yè)碩士研究生培養(yǎng)方向:數(shù)字媒體藝術(shù)理論與實(shí)踐、網(wǎng)絡(luò)多媒體;博士研究生培養(yǎng)方向:數(shù)字媒體藝術(shù)理論與實(shí)踐、數(shù)字內(nèi)容產(chǎn)業(yè)研究。 游戲設(shè)計(jì)專(zhuān)業(yè)碩士研究生培養(yǎng)方向:游戲設(shè)計(jì)與創(chuàng)作方向、游戲理論與產(chǎn)業(yè)研究方向。[
請(qǐng)采納
這是每個(gè)游戲編程FAQ里都有的問(wèn)題。
這個(gè)問(wèn)題每星期都會(huì)在游戲開(kāi)發(fā)論壇上被問(wèn)上好幾次。這是個(gè)很好的問(wèn)題,但是,沒(méi)人能給出簡(jiǎn)單的答案。
在某些應(yīng)用程序中,總有一些計(jì)算機(jī)語(yǔ)言優(yōu)于其他語(yǔ)言。下面是幾種用于編寫(xiě)游戲的主要編程語(yǔ)言的介紹及其優(yōu)缺點(diǎn)。
希望這篇文章能幫助你做出決定。1、C語(yǔ)言 如果說(shuō)FORTRAN和COBOL是第一代高級(jí)編譯語(yǔ)言,那么C語(yǔ)言就是它們的孫子輩。
C語(yǔ)言是Dennis Ritchie在七十年代創(chuàng)建的,它功能更強(qiáng)大且與ALGOL保持更連續(xù)的繼承性,而ALGOL則是COBOL和FORTRAN的結(jié)構(gòu)化繼承者。C語(yǔ)言被設(shè)計(jì)成一個(gè)比它的前輩更精巧、更簡(jiǎn)單的版本,它適于編寫(xiě)系統(tǒng)級(jí)的程序,比如操作系統(tǒng)。
在此之前,操作系統(tǒng)是使用匯編語(yǔ)言編寫(xiě)的,而且不可移植。C語(yǔ)言是第一個(gè)使得系統(tǒng)級(jí)代碼移植成為可能的編程語(yǔ)言。
C語(yǔ)言支持結(jié)構(gòu)化編程,也就是說(shuō)C的程序被編寫(xiě)成一些分離的函數(shù)呼叫(調(diào)用)的集合,這些呼叫是自上而下運(yùn)行,而不像一個(gè)單獨(dú)的集成塊的代碼使用GOTO語(yǔ)句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的“空心粉式代碼”代碼要簡(jiǎn)單得多。
事實(shí)上,C仍然具有GOTO語(yǔ)句,不過(guò)它的功能被限制了,僅當(dāng)結(jié)構(gòu)化方案非常復(fù)雜時(shí)才建議使用。 正由于它的系統(tǒng)編程根源,將C和匯編語(yǔ)言進(jìn)行結(jié)合是相當(dāng)容易的。
函數(shù)調(diào)用接口非常簡(jiǎn)單,而且匯編語(yǔ)言指令還能內(nèi)嵌到C代碼中,所以,不需要連接獨(dú)立的匯編模塊。 優(yōu)點(diǎn):有益于編寫(xiě)小而快的程序。
很容易與匯編語(yǔ)言結(jié)合。具有很高的標(biāo)準(zhǔn)化,因此其他平臺(tái)上的各版本非常相似。
缺點(diǎn):不容易支持面向?qū)ο蠹夹g(shù)。語(yǔ)法有時(shí)會(huì)非常難以理解,并造成濫用。
移植性:C語(yǔ)言的核心以及ANSI函數(shù)調(diào)用都具有移植性,但僅限于流程控制、內(nèi)存管理和簡(jiǎn)單的文件處理。其他的東西都跟平臺(tái)有關(guān)。
比如說(shuō),為Windows和Mac開(kāi)發(fā)可移植的程序,用戶界面部分就需要用到與系統(tǒng)相關(guān)的函數(shù)調(diào)用。這一般意味著你必須寫(xiě)兩次用戶界面代碼,不過(guò)還好有一些庫(kù)可以減輕工作量。
用C語(yǔ)言編寫(xiě)的游戲:非常非常多。 資料:C語(yǔ)言的經(jīng)典著作是《The C Programming Language》,它經(jīng)過(guò)多次修改,已經(jīng)擴(kuò)展到最初的三倍大,但它仍然是介紹C的優(yōu)秀書(shū)本。
一本極好的教程是《The Waite Group's C Primer Plus》。2、C++ C++語(yǔ)言是具有面向?qū)ο筇匦缘腃語(yǔ)言的繼承者。
面向?qū)ο缶幊蹋蚍QOOP是結(jié)構(gòu)化編程的下一步。OO程序由對(duì)象組成,其中的對(duì)象是數(shù)據(jù)和函數(shù)離散集合。
有許多可用的對(duì)象庫(kù)存在,這使得編程簡(jiǎn)單得只需要將一些程序“建筑材料”堆在一起(至少理論上是這樣)。比如說(shuō),有很多的GUI和數(shù)據(jù)庫(kù)的庫(kù)實(shí)現(xiàn)為對(duì)象的集合。
C++總是辯論的主題,尤其是在游戲開(kāi)發(fā)論壇里。有幾項(xiàng)C++的功能,比如虛擬函數(shù),為函數(shù)呼叫的決策制定增加了一個(gè)額外層次,批評(píng)家很快指出C++程序?qū)⒆兊帽认嗤δ艿腃程序來(lái)得大和慢。
C++的擁護(hù)者則認(rèn)為,用C寫(xiě)出與虛擬函數(shù)等價(jià)的代碼同樣會(huì)增加開(kāi)支。這將是一個(gè)還在進(jìn)行,而且不可能很快得出結(jié)論的爭(zhēng)論。
我認(rèn)為,C++的額外開(kāi)支只是使用更好的語(yǔ)言的小付出。同樣的爭(zhēng)論發(fā)生在六十年代高級(jí)程序語(yǔ)言如COBOL和FORTRAN開(kāi)始取代匯編成為語(yǔ)言所選的時(shí)候。
批評(píng)家正確的指出使用高級(jí)語(yǔ)言編寫(xiě)的程序天生就比手寫(xiě)的匯編語(yǔ)言來(lái)得慢,而且必然如此。而高級(jí)語(yǔ)言支持者認(rèn)為這么點(diǎn)小小的性能損失是值得的,因?yàn)镃OBOL和FORTRAN程序更容易編寫(xiě)和維護(hù)。
優(yōu)點(diǎn):組織大型程序時(shí)比C語(yǔ)言好得多。很好的支持面向?qū)ο髾C(jī)制。
通用數(shù)據(jù)結(jié)構(gòu),如鏈表和可增長(zhǎng)的陣列組成的庫(kù)減輕了由于處理低層細(xì)節(jié)的負(fù)擔(dān)。 缺點(diǎn):非常大而復(fù)雜。
與C語(yǔ)言一樣存在語(yǔ)法濫用問(wèn)題。比C慢。
大多數(shù)編譯器沒(méi)有把整個(gè)語(yǔ)言正確的實(shí)現(xiàn)。 移植性:比C語(yǔ)言好多了,但依然不是很樂(lè)觀。
因?yàn)樗哂信cC語(yǔ)言相同的缺點(diǎn),大多數(shù)可移植性用戶界面庫(kù)都使用C++對(duì)象實(shí)現(xiàn)。 使用C++編寫(xiě)的游戲:非常非常多。
大多數(shù)的商業(yè)游戲是使用C或C++編寫(xiě)的。 資料:最新版的《The C++ Programming Language》非常好。
作為教程,有兩個(gè)陣營(yíng),一個(gè)假定你知道C,另外一個(gè)假定你不知道。到目前為止,最好的C++教程是《Who's Afraid of C++》,如果你已經(jīng)熟知C,那么試一下《Teach Yourself C++》。
3、我該學(xué)習(xí)C++或是該從C開(kāi)始(Should I learn C++, or should I start with C ) 我不喜歡這種說(shuō)法,但它是繼“我該使用哪門(mén)語(yǔ)言”之后最經(jīng)常被問(wèn)及的問(wèn)題。很不幸,不存在標(biāo)準(zhǔn)答案。
你可以自學(xué)C并使用它來(lái)寫(xiě)程序,從而節(jié)省一大堆的時(shí)間,不過(guò)使用這種方法有兩個(gè)弊端: 你將錯(cuò)過(guò)那些面向?qū)ο蟮闹R(shí),因?yàn)樗赡茉谀愕挠螒蛑惺沟脭?shù)據(jù)建模更有效率的東西。 最大的商業(yè)游戲,包括第一人稱射擊游戲很多并沒(méi)有使用C++。
但是,這些程序的作者即使使用老的C的格式,他們通常堅(jiān)持使用面向?qū)ο缶幊碳夹g(shù)。如果你只想學(xué)C,至少要自學(xué)OO(面向?qū)ο螅┚幊碳夹g(shù)。
OO是仿真(游戲)的完美方法,如果你不學(xué)習(xí)OO,你將不得不“辛苦”的工作。4、匯編語(yǔ)言(Assembly) 顯然,匯編是第一個(gè)計(jì)算機(jī)語(yǔ)言。
匯編語(yǔ)言實(shí)際上是你計(jì)算機(jī)處理器實(shí)際運(yùn)行的指令的命令形式表。
掌握軟件的制作,和發(fā)布軟件,等一些列步驟。
有些朋友有問(wèn)過(guò)我有沒(méi)有留一些畫(huà)畫(huà)的過(guò)程,無(wú)奈小人水平有限。畫(huà)的不好一直也沒(méi)想過(guò)要留下什么畫(huà)畫(huà)的小心得可供大家交流。
但是我是一個(gè)膽小的人,“裝什么13,畫(huà)的好一點(diǎn)了不起哦,要個(gè)過(guò)程都不給”這種話對(duì)作為一個(gè)雖然脫離了菜鳥(niǎo)階段,但也只是剛剛?cè)腴T(mén)的我來(lái)說(shuō)還是很膽戰(zhàn)心驚的。 所以小人今天斗膽,拿這張山海間的賀圖弄了個(gè)畫(huà)畫(huà)的一個(gè)小過(guò)程。
因?yàn)闆](méi)有刻意的要留過(guò)程,很多步驟都是畫(huà)到一個(gè)小階段拿到群里受教時(shí)的QQ截圖。后來(lái)又在聊天記錄了扒出來(lái)的..所以有礙觀看的地方大家多多包涵。
. 我個(gè)人畫(huà)畫(huà)的時(shí)候比較隨意,很多想法都是隨著畫(huà)的不斷深入慢慢出現(xiàn),所有很少用線稿起稿(眾人:喂喂,不畫(huà)畫(huà)線稿還找什么借口喲。..)囧TL我確是線稿很爛。
.所以大多時(shí)候都是剪影起稿, 順便說(shuō)兩句,很多朋友開(kāi)始畫(huà)畫(huà)的時(shí)候面對(duì)一張空白的畫(huà)布難免感覺(jué)有些無(wú)從下手,不要緊,不知道畫(huà)什么的時(shí)候就瞎涂嘛~沒(méi)準(zhǔn)涂著涂著在混亂的筆觸里就觸發(fā)了某個(gè)不錯(cuò)的小靈感。 廢話說(shuō)的不少了。
進(jìn)入正體。 第一步:黑白剪影(眾人:瞎涂就瞎涂嘛,還“黑白剪影”說(shuō)那么好聽(tīng)干什么。)
因?yàn)橹安](méi)有留過(guò)程而且剛開(kāi)始的也沒(méi)截圖。.所以做這個(gè)過(guò)程的時(shí)候又重新順手在PS里涂了大概,很亂。
..大家湊合看: [attach]83125[/attach] 第二步:我個(gè)人不是很喜歡把黑白稿畫(huà)的巨完整后再上色,大體出來(lái)一些想法后就開(kāi)始鋪一些大的色調(diào)了,下面就是一個(gè)借由曲線工具調(diào)大色的一個(gè)過(guò)程: [attach]83126[/attach] [attach]83127[/attach] 順便說(shuō)一句為什么用這里面的方法調(diào)整曲線而不是用CTRL+M,大家也許會(huì)發(fā)現(xiàn)這里的曲線調(diào)整PS會(huì)自動(dòng)新建 一個(gè)單獨(dú)的曲線圖層而且會(huì)自帶一個(gè)蒙版,并且這個(gè)曲線圖層可以更改圖層屬性,并作用于該曲線圖層以下的所有圖層,而這些功能都是CTRL+M所不能做到的。同樣舉一反三:這些功能都可以用這個(gè)方法嘗試,也許會(huì)有意想不到的效果喲=V= 3:通過(guò)剛才的曲線調(diào)整方法我們得到了現(xiàn)在的效果: [attach]83128[/attach] 4:這一步?jīng)]什么好說(shuō)的就是添加一些新的想法,拉伸了一下畫(huà)布,添加了披風(fēng)背景處大體的抹了幾筆(好吧我承認(rèn).這個(gè)階段的時(shí)候我腦子里沒(méi)東西了): [attach]83129[/attach] 5:這一步就是繼續(xù)深入,順便調(diào)整了一下整體的顏色: [attach]83130[/attach] 順便說(shuō)下武器上火焰效果的方法: [attach]83131[/attach] 6:沒(méi)什么好說(shuō)的,繼續(xù)深入,聽(tīng)了麒麟同學(xué)的意見(jiàn)把披風(fēng)收了收 確實(shí)畫(huà)面顯得透氣些了 為了不讓畫(huà)面太空近處地面加了些草,這里注意下因?yàn)榕L(fēng)和頭盔上的紅纓是隨風(fēng)飄起的,地面上的草也要考慮到這一點(diǎn),最好是新建一個(gè)圖層畫(huà)草,然后濾鏡——模糊——?jiǎng)痈心:?通過(guò)調(diào)整動(dòng)感模糊里的角度和距離來(lái)達(dá)到自己想要的效果。
同樣舉一反三,比如大家在畫(huà)一幅場(chǎng)景有些飛鳥(niǎo),為了表現(xiàn)飛鳥(niǎo)的運(yùn)動(dòng)感也可以通過(guò)這種方法實(shí)現(xiàn)~: [attach]83133[/attach] [attach]83136[/attach] 7:嗯。繼續(xù)深入 繼續(xù)添加一些小細(xì)節(jié),注意細(xì)節(jié)和整體的關(guān)系,相信很多同學(xué)這一點(diǎn)要做的比我優(yōu)秀很多。
及時(shí)的調(diào)整下不舒服的地方。由于人的左右眼的視覺(jué)偏差,水平翻轉(zhuǎn)下畫(huà)布會(huì)發(fā)現(xiàn)很多的問(wèn)題喲,所以畫(huà)畫(huà)的時(shí)候不時(shí)的水平翻轉(zhuǎn)下會(huì)有助于及時(shí)調(diào)整。
: [attach]83134[/attach] 8:嗯..繼續(xù)~到最后這是個(gè)考驗(yàn)大家耐心的時(shí)候了,因?yàn)橐粡垐D放的久了最初的創(chuàng)作沖動(dòng)和靈感會(huì)慢慢的消失,很明顯由于我后繼無(wú)力了。.悲劇時(shí)常發(fā)生,這張也不例外。
.爛尾了。
(這個(gè)大家千萬(wàn)別學(xué)我)最后寫(xiě)上想要對(duì)大家的說(shuō)的話,結(jié)束: [attach]83135[/attach] 還有一些是盔甲上的小細(xì)節(jié),群里朋友說(shuō)胸前兩朵小菊花頗顯柔情。
. [attach]83137[/attach] 如果這樣一個(gè)沒(méi)多少基礎(chǔ)沒(méi)多少想法沒(méi)多少小技巧的一個(gè)小過(guò)程,能給大家?guī)?lái)一些實(shí)用的東西,哪怕是諸位的會(huì)心一笑我便心滿意足內(nèi)牛滿面了。也希望拋磚引玉讓我們的論壇熱鬧起來(lái),畢竟這是我們共同的家不是=V=同時(shí)也希望大家多多回帖~當(dāng)然有什么疑問(wèn)盡管提出來(lái),只要在我知識(shí)了解之內(nèi)的必然解答~ 最后打個(gè)展廳的廣告。
. /image_gallery/gid/22173。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:3.192秒