<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java究竟怎么玩?

      天地程序已定棋,人間大數(shù)待變局

        博客園  :: 首頁  :: 新隨筆  :: 聯(lián)系 :: 訂閱 訂閱  :: 管理

      開場(chǎng)詩:
      不儒不道又不仙,非神非圣也非賢。輕吐心頭尋常語,開辟文武一片天。
      自表詩:北冥沉淵有鯤鵬,吞噬金烏戮真龍。一日扶搖凌天起,三千世界可橫行。

       

          小子“鵬凌三千”,欲將心頭事,付與有緣人,列位看官請(qǐng)了。

      我們都知道,目前國(guó)內(nèi)游戲引擎開發(fā)領(lǐng)域中(請(qǐng)注意,我是在說游戲引擎),大體以C/C++為主導(dǎo),Delphi次之,其他參差不齊。由于游戲引擎開發(fā)耗時(shí)耗力,很多人不愿意參與進(jìn)來,所以一提[引擎]似乎就延伸到所謂[高手][大神]的范圍,而不應(yīng)為我輩凡夫俗子所矚目。

         所以,目前國(guó)內(nèi)的真實(shí)情況是,有志于游戲開發(fā)的同好們,現(xiàn)狀無外分成幾類:

       

      1.       無敵悍匪型:有很高的數(shù)學(xué)與編程基礎(chǔ),加盟某些公司成為技術(shù)骨干,主導(dǎo)開發(fā)一款熱門游戲(目前主要是網(wǎng)游……),終生受用不盡。這類人以游戲開發(fā)為本職工作,月收入不菲,平時(shí)除了編程就是了解游戲,大多數(shù)是偶老師或以上級(jí)別(本人并未學(xué)習(xí)過游戲開發(fā),但是偶在大學(xué)時(shí)有個(gè)代課老師曾經(jīng)是以前赫赫有名的[前導(dǎo)]骨干,據(jù)說他開發(fā)過[赤壁]且主導(dǎo)開發(fā)過[血獅]……殘念……),這批人的工作就是公司項(xiàng)目,當(dāng)然不會(huì)輕易加入到開源的工作中來,不過有時(shí)會(huì)為提高知名度,而發(fā)布一些非開源的游戲。

       

      2.       人中龍鳳型:雖然沒有很好的基礎(chǔ),但是學(xué)歷較高,[EQ]較高,能夠被領(lǐng)導(dǎo)認(rèn)為適合擔(dān)當(dāng)管理型角色,基本上屬于[挑刺]的能手,讓這些人當(dāng)產(chǎn)品測(cè)試再合適不過,做個(gè)企劃,吸引投資也有勝任的可能,讓他開發(fā)游戲,下輩子吧……

       

      3.       善用工具型:很多朋友現(xiàn)在常用的RMXP等工具一樣可以開發(fā)同人游戲,而且熟悉Ruby語言的朋友也可以用在其中自定義腳本,利用其擴(kuò)展現(xiàn)有程序,“本鵬”甚至見過同人版的S.RPG仙劍和同人的斜45°單機(jī)大話西游,效果也確實(shí)不錯(cuò)。不過是利用日本人的工具,始終刻上RM系列的烙印(別說你用eXeScope等工具修改,RM系列組件的接口標(biāo)識(shí)你有辦法抹去?……),而且由于其本身[玩具類]工具的通病,程序不可避免的存在大量冗余數(shù)據(jù),一個(gè)同人游戲程序的大小,可能是原版程序體積的1-5倍還不止……也實(shí)在令人難以忍受……就算腳本作的異常之好,被某些公司當(dāng)作[范本]進(jìn)行二次開發(fā),也不過是充當(dāng)了個(gè)[劇本]的作用,當(dāng)了一次[小編],實(shí)在太過雞肋。

       

      4.       神筆馬良型:不錯(cuò),就是能寫會(huì)畫的劇本和美工們,決定一款游戲好壞的,除非系統(tǒng)算法上極大的突破,否則在大同小異的情況下,100%就是美工的插畫和腳本的劇情。在Flash大行其道的今天,如果他們能多學(xué)習(xí)一些Action Script方面的知識(shí),甚至完全可以自己開發(fā)出一款即叫好,又叫做,而且可移植性強(qiáng)的游戲來。如果一個(gè)人美工即強(qiáng),編程又到了[從心所欲,不滯于物]的境界,那就意味著這個(gè)人已達(dá)[天人]境界,自己一個(gè)人幾乎可以挑起整個(gè)公司了……當(dāng)然,前提是他不被累死的話……

       

      5.       心大膽小型:[心比天高,命比紙薄]是這類人最真實(shí)的寫照,大體上都屬于[一瓶子不滿,半瓶子晃蕩]的角色(比如某鵬……||||),偶更經(jīng)常看到有人在各種論壇上發(fā)帖招集美工,腳本等人員進(jìn)行游戲開發(fā),并且有時(shí)會(huì)發(fā)出一個(gè)地圖編輯器類的東西作參考(上次看見一個(gè)要做《夢(mèng)幻模擬戰(zhàn)》同人的,地圖編輯器照搬某平面打飛機(jī)游戲……),然后就不了了之,這類人說起來天下無敵,辦起來有心無力,是國(guó)內(nèi)號(hào)稱[游戲開發(fā)者]中的絕大多數(shù),也是中國(guó)人劣根性的集中體現(xiàn)……

       

      6.       有心無力型:有恒心,有決心,有癡心,就是沒能力,同樣是主流之一,同樣典型,作品大多為真情流露之做,多為畫面和程序很粗燥,但游戲性卻很強(qiáng)的小游戲作者,比如,以前上學(xué)時(shí)記得有個(gè)VB的《北京飄流記》之類的游戲……

        

         目前除了專業(yè)公司的游戲開發(fā)人員,和有心進(jìn)入各大公司或自立門戶的[準(zhǔn)專業(yè)]人員,大體上都屬于小打小鬧,做同人游戲[自娛自樂]的階段,而同人游戲的開發(fā)者,目前則多以RMXP系列及Flash系列為開發(fā)工具,雖然也有部分利用DelphiVB制作的精良游戲,但是通常都以程序代碼取代了引擎的作用,很難重用到新的開發(fā)中去。

       “本鵬”有鑒于此,就想到寫幾篇文章以起到拋磚引玉的效果,但是用什么語言呢?(雖然偶不反對(duì)使用現(xiàn)成的游戲制作工具,但畢竟能否“制造和使用工具”,目前還是區(qū)別人與動(dòng)物的標(biāo)準(zhǔn)之一C/C++雖然效果最好,但是也最難……本人非C/C++程序員,用DelphiVB也是后續(xù)計(jì)劃,目前這一階段還是以本職工作Java為主作為RPG類游戲(包括A.RPG,S.RPG)開發(fā)語言較好(雖然偶?jí)焊皇亲鲇螒蜷_發(fā)的……)。

        PS:很奇怪,國(guó)內(nèi)的Java游戲大體上集中在嵌入式開發(fā)的領(lǐng)域中,多以手機(jī)為主,雖然J2ME(Java微型版,用于嵌入式開發(fā))確實(shí)適合手機(jī)游戲開發(fā)(默認(rèn)提供Sprite類,且支持很多的游戲算法),但是在Web和桌面程序的領(lǐng)域中,卻很少有人用J2SE進(jìn)行開發(fā)(或者說,沒有……),請(qǐng)不要提Java的效率問題,Java代碼經(jīng)過優(yōu)化后效率并不慢。所以我更要使用Java開發(fā),這樣寫壞了也沒人知道,嘿嘿。

       

      從游戲運(yùn)行效果上看,Java開發(fā)游戲的優(yōu)點(diǎn)Flash幾乎都有(Flash幾乎就是為做界面而生的……),缺點(diǎn)卻幾乎都沒有。但是從開發(fā)效率上將,Java游戲可以很輕易的實(shí)現(xiàn)復(fù)雜引擎并完成快速開發(fā),而Flash游戲越大則開發(fā)效率將越低,就好比華山[氣宗][劍宗]的關(guān)系(當(dāng)然了,隨著Action Script的增強(qiáng),這個(gè)屏蔽始終是會(huì)被打破的,但是打幾年卻不知道……)。另外,Java是支持真3D的。

      天下武學(xué),殊途同歸,招無強(qiáng)弱,人有優(yōu)劣。

       

      下面,我們進(jìn)入講座開始前的預(yù)備內(nèi)容,Java界面的構(gòu)成。

       

      1.       Hello Java (關(guān)于Java中圖形界面的顯示)

       

      “本鵬”此次的RPG開發(fā)講座將重心放置于J2SE架構(gòu)之上,以Swing為基礎(chǔ)架構(gòu)JFrame之上,利用JPanel進(jìn)行擴(kuò)展。現(xiàn)在,我們從最基礎(chǔ)的第一步開始講起,即如何利用Java構(gòu)建一個(gè)Windows窗口。

      運(yùn)行界面如下圖:

      文件名:Example0.java

       

      package org.loon.chair.example0;

      import java.awt.Container;

      import javax.swing.JFrame;

       

      /**

       *

       * Java RPG開發(fā)講座之0

       *

       * @author chenpeng

       * 

       *

       */

       

      //Java開發(fā)中,[子類]可以通過[extends]關(guān)鍵字繼承[父類]

       

      public class Example0 extends JFrame{

         

           public Example0() {

              

                  //設(shè)置窗體標(biāo)題,也可寫作 super("Hello Java"); 的形式

                  setTitle("Hello Java");

       

                  //實(shí)例化自定義面板

                  MyPanel panel = new MyPanel();

                  //獲得當(dāng)前窗體[容器]的實(shí)例,實(shí)際上可以直接設(shè)定,此處為演示

                  //故應(yīng)用后設(shè)定。

                  Container contentPane = getContentPane();

                  //加載自定義的面板[MyPanel]到窗體中,就好比在底板上再帖一層畫面。

                  //也就是說顯示什么內(nèi)容,是由我們加載那個(gè)[面板]來決定的,可以輕松

                  //的實(shí)現(xiàn)游戲中不同畫面間的切換.

                  contentPane.add(panel);

       

                  //自動(dòng)整合窗體

                  pack();

              }

         

          public static void main(String[]args){

            

             Example0 e0=new Example0();

                     

                       //令窗體接受關(guān)閉[事件]

                       e0.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                      

                       //顯示窗體(PS:Java中本有show()方法,但已成為準(zhǔn)淘汰方法,

                       //說不定什么時(shí)候便不支持了,強(qiáng)烈不建議使用,雖然Visible內(nèi)部

                       //目前還是調(diào)用它……

                     

                       e0.setVisible(true);

       

            

          }

       

      }

       

      文件名:MyPanel.java

      package org.loon.chair.example0;

      import java.awt.Color;

      import java.awt.Dimension;

      import java.awt.Graphics;

      import javax.swing.JPanel;

      /**

       * 自定義面板,用以擴(kuò)展原有JPanel類功能.

       *

       * @author chenpeng

       *

       * Loon Framework in Game

       *

       */

      public class MyPanel extends JPanel{

         

          //定義全局常量,為默認(rèn)的[面板]寬與高

          private static final int WIDTH = 300;

          private static final int HEIGHT = 300;

       

          public MyPanel() {

         

             //設(shè)置背景顏色R,G,B參數(shù),個(gè)人喜歡用白色做底

          setBackground(new Color(255,255,255));

             //設(shè)置Panel默認(rèn)大小

              setPreferredSize(new Dimension(WIDTH, HEIGHT));     

          }

        

          /**

           *   Graphicsjava.awt下所有類,用以[描繪]圖形界面

           * 大多數(shù)Java下的圖形界面開發(fā)時(shí),都是以此類為基礎(chǔ)的。

           *

           */

          public void paintComponent(Graphics g) {

          //這里我們沒有自定義Graphics,而是直接調(diào)用[父類]的同名方法實(shí)現(xiàn)。

              super.paintComponent(g);

              //MyPanel(20,50)的位置上"""Easy Java"

              //如果換成drawImage函數(shù)就能在指定位置加載一張圖片。

              g.drawString("Easy Java", 40, 40);

             

          }

       

      }

       

      架構(gòu)關(guān)系如下圖所示。

       

      實(shí)際Java RPG游戲開發(fā)中案例:

        如下圖,為日本某Java游戲運(yùn)行畫面,即為JFrameJPanel的拼合顯示。

      下圖為“本鵬”開發(fā)中Java S.RPG引擎地圖(此項(xiàng)目完成后開源)運(yùn)行畫面,原理相同:

       
      posted on 2007-06-20 16:46  cping  閱讀(402)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 久久精品无码免费不卡| 人人澡人人妻人人爽人人蜜桃 | 偷拍精品一区二区三区| 亚洲国产精品va在线观看麻豆| 九九热在线精品视频九九| 欧美人与动zozo| 欧美乱码伦视频免费| 非会员区试看120秒6次| 老王亚洲AV综合在线观看| 白嫩少妇激情无码| 激情综合色综合啪啪开心| 国产高清自产拍av在线| 色欲久久久天天天综合网精品| 99久久99久久久精品久久| 国产精品黄色大片在线看| 日韩精品人妻系列无码av东京| 民权县| 91亚洲精品一区二区三区| 澳门永久av免费网站| 国产成人综合欧美精品久久| 国产一区二区在线激情往| 一级片一区二区中文字幕| 国产精品白浆在线观看免费| 伊人久久大香线蕉网av| 亚洲精品色国语对白在线| 国产午夜91福利一区二区| 亚洲av成人在线一区| 久热这里只有精品视频六| 综合激情丁香久久狠狠| 国产高清在线男人的天堂| 亚洲最大色综合成人av| 亚洲日本高清一区二区三区| 91精品国产午夜福利| 精品国产一国产二国产三| 精品伊人久久久香线蕉| 狠狠色噜噜狠狠狠狠2021| 亚洲av一本二本三本| 黄页网址大全免费观看| 性视频一区| 国产一区二区三区九九视频| 中文字幕在线观看一区二区|