當前位置:首頁 » 游戲種類 » c編游戲手機

c編游戲手機

發布時間: 2023-02-15 23:33:33

A. C語言如何開發手機游戲

有,iPhone就是,不過不是C,是Object C,是面向對象的C。到iPhone的開發網站上有SDK和各類開發向導。

B. c/c++可以編寫手機游戲嗎

不是的,任何語言都可以編寫手機程序,這個只是手機是否支持的一個問題。(C語言可以編寫塞班、Windowsmobile等等手機軟體)java只是應用的范圍比較廣,可移植性強,而多數手機都有java支持庫,所以多數手機上都可以安裝JAVA軟體。。。

C. 怎麼設計一個手機游戲

如何設計一個好的手游主界面及其交互?
沒有什麼思路的話,建議你去玩玩這5個游戲,裡面的交互和設計風格都值得思考。

TOP 1 —— 紀念碑谷

Ustwo games開發的一款解謎類手機游戲,於2014年正式發行。 游戲通過探索隱藏小路、發現視力錯覺以及擊敗神秘的烏鴉人來幫助沉默公主艾達走出紀念碑迷陣。游戲一共有18關,包括「被遺忘的海岸」和原作,還有一關艾滋病援助版本:艾達的夢。本游戲獲得2014年度App Store精選榜單中國區iPad年度最佳游戲。同時,也是GDC2015(全球游戲開發者大會)移動游戲方面,《紀念碑谷》成為了最大贏家,成功拿下「最佳創意」、「最佳移動游戲」和「最佳視覺藝術」三項大獎。這樣的游戲如果不玩真的是人生一大遺憾。

這款游戲最棒的地方不只是其游戲性,更加值得把玩的是空間的設計,這種視覺錯位空間讓你腦洞大開才能通關,並且從配色到建築物的設計上都表現出非常棒的藝術性。玩過的用戶都會有這樣的感覺:隨便截屏一下,都能當做手機壁紙。

TOP 2 —— 收割者:蒼白劍客

由英國的傳奇游戲工作室Hexage獨立開發的一款橫版ARPG游戲,風格獨特,玩法新奇。之所以說Hexage是個傳奇的工作室,那是因為該工作室的工作人員少的離譜從以前的2人到現在的5人,開發的游戲風格奇異,口碑奇佳,在國外知名度很高。該工作室在沉寂了兩年之久,終於又推出了這款游戲。

游戲從人設到場景到操作性都可以說非常值得一玩,暢快淋漓並且風格獨特,相比較現在大量的3D酷炫技能 *** 炸天的游戲來說,絕對是一個特異的存在,也讓人忍俊不住這種愛。游戲中的小怪物造型也是各有特色,從小道具到服裝配色都是頂級的棒。

TOP 3 —— 地獄邊境

又名LIMBO,由Playdead Studios開發的一款2D冒險游戲,PC版於2011年8月3日發行,XBOX 360版於2010年7月21日發行。 玩家在游戲里扮演一名小男孩,在地獄的邊緣尋求希望。不要小看這個類似剪影的小游戲,絕對讓你愛不釋手,它所獲得獎項足夠擺的滿滿的……超過100個游戲獎項,包括GameInformer最佳下載游戲、GameSpot最佳解密游戲、Kotaku最佳另類游戲、GameReactor年度最佳數字下載游戲、Spike TV最佳獨立開發游戲、X-Play最佳下載游戲、IGN最佳恐怖游戲等等。

游戲看似沒什麼設計,然而這樣覺得你就錯了,舍掉了顏色,但是加入了光影、運動模糊、快慢延時等特效,讓玩家在玩的時候專注你的游戲角色,你只會有一個感覺:為什麼沒有顏色的游戲也能做的這么棒!!之所以排在第三位,只能怪我阿B比較偏心,設計師們在玩的時候不能學到配色相關。

TOP 4 —— 阿爾托的冒險

獨立游戲開發團隊Snowman。打造的滑雪游戲《阿爾托的冒險 Alto』s Adventure》令無數玩家沉浸在如痴如醉的美妙世界之中。如果要評價這款游戲,那麼可以簡單粗暴的一句話概括:玩法無亮點,勝在畫面贊。是的,游戲性相對一般,但是畫面真的很贊,如果不喜歡常見鑽研或者費腦子,那麼可以輕松的玩玩這款滑雪小游戲,因為畫面真的很贊,並且搭配悅耳的音樂,不失為手機上必留小游戲之一。

TOP 5 —— 瘋狂來往

一款國內公司開發的游戲,同樣也是為聚會打造的游戲。之所以能上榜並不是因為它的交互和設計做的多麼極致,重要的是它能啟動設計師們的腦洞大開!游戲不僅僅是手柄上、手機上的產物,更重要的也是腦洞和行為表演上的「玩」,所以如果還沒有下載這個小游戲的話,強烈推薦,幾個人一起玩真的能感受到設計師們的無底線無節操深腦洞的……節奏。

......
怎麼做一個手機游戲
做手機游戲還是很難的呢

首先你得熟悉Java編程語言

還有一些經常用的安卓系統的API介面

而且游戲的話還得有一定的美術功底才可以的

所以一般游戲開發都是一個團隊在做

個人想做好還是有很大難度的呢

如果你想要學習安卓開發的話

你可以先去應用寶這些地方下載一些Java學習手冊的軟體

平時閑著的時候拿出來看一看,對學習編程有很大幫助的

Java語言是基礎,也是游戲開發里邊最重要的東西

希望可以對你有幫助哦
手機上的游戲是怎麼製作出來的
在製作游戲之前,必須有一套經過長期測試並且適用的游戲引擎。

數位紅用了兩年的時間總結開發出一套基於移動設備的游戲引擎:dragon bone game engine for mobile phone(龍骨),他可以支持目前大部分的高端移動設備,它不僅可以使程序開發人員及游戲項目節省了大量的時間,另外還可以讓美術人員最直觀的看到其設計效果。它最大的價值就是可以使開發人員的一套代碼在不需要改動程序的情況下編譯運行在不同設備平台上(改動不超過20%)。目前數位紅及其他公司已經使用它開發游戲超過了30款。

引擎提供了非常完善的9個模塊與3個增強模塊,可以完全滿足各類游戲開發的需要。游戲引擎可以直接嵌入到開發者的程序中,不需要額外的支持程序即可使所開發的游戲獨立運行。游戲引擎簡單、易用,編譯後體積很小,佔用內存也很小,可以節省玩家的內存空間及無線下載費用。基本引擎包含9個模塊,引擎函數界面提供了類似windows的使用模式:

1、 文件操作模塊:提供類似標准c的fopen,fclose等函數。

2、 內存管理模塊

3、 2d圖形圖象模塊

4、 對話框模塊

5、 *** s操作模塊:可以在程序內部對 *** s的收發進行截獲處理。

6、 加密模塊:提供識別使用設備的imei功能,用於軟體的加密目的。

7、 聲音模塊

8、 資源打包及壓縮模塊:可是使最後發售的軟體包體積變小,盡量少的佔用用戶的內存空間。

9、 常用函數:如字元串操作等函數。

10、例子:提供一套完整游戲magicline的源程序。 引擎增強模塊構成 其增強部分,包含三個模塊: 1、 實時3d增強模塊 2、 聲音增強模塊 3、 圖形文件增強模塊

ii. 正式開發的前期工作 a. 開發工具的准備 在很多人看來,手機游戲還是一種很新鮮時尚的玩意兒,所以,談起手機游戲的時候難免有種莫測高深的感覺。其實,手機游戲的整個製作過程十分簡單。從某種角度而言,它是一種傳統的回歸,同時也是新舊技術的相互融合。最常用的開發工具有vc++,j builder及codewarrior,在設計工具上則更是和普通的pc游戲製作軟體沒有大的區別。有的設計人員更願意使用「骨灰級」的二維設計工具dp,也有人願意用3dmax、maya建模之後再進行二維修改,當然所有這些方法都要根據游戲的最終設定來決定。我們在做java游戲的時,一般都是採用像素級的二維繪制完成圖片,即逐個像素點的完成。但在製作pda等類似設備的游戲時,就會採用3dmax或者maya建立模型,渲染後再修整。在設計過程中,我們也與大多數游戲公司一樣使用了maya、3dmax、photoshop、painter等工具。 b. 確定游戲的各項參數及目標設備
自己怎麼做一個手游
算了吧,別人都是一個公司,一個團隊
有誰知道一個游戲可以在手機上自己設計房子
《minecraft》 中文譯 《我的世界》這款游戲原在電腦上的 移植到了手機
怎麼製作一款手機游戲
樓主你好:

從題目看,你是想製作一款 游戲,但是我要告訴你的是,一個人完成一款游戲的概率是0.0000001%(哈哈,誇張了一點),游戲不是一個人能完成的。任何一款游戲製作軟體要想很好的應用它,都是需要專業的指導和不斷的針對練習的。

好了,讓我來介紹下游戲製作里會用到哪些製作軟體吧。

游戲製作至少要有,游戲建模和游戲程序編寫。

3D游戲建模:要會3d *** ax或maya

游戲編程的話你要會一門編程語言,一般是C++,C++大學有學,但不教怎麼做游戲。培訓學校有教游戲編程的專業。當然有興趣,可以看看這幾本書:《C++Primer》,《windows游戲編程大師技巧》,《3D游戲編程大師技巧》,還有數據結構,演算法,DirectX 和OpenGL。

最後說一句,游戲不是一個人做的。

如果你對游戲製作有興趣,又不知道怎麼涉足的話,可以點閱博思游戲教育的官方網站,也可以關注我們的新浪微博,微博ID:博思游戲教育基地」,相信你會有更多的收獲。
如何製作手機游戲???
Java學到什麼程度 C++學到什麼程度?軟體製作這些都不會別談什麼開發安卓游戲 android開發建議你先從java學起,java的好書有很多,但是我建議您先專注研究一本,等把這本吃透了再看其他的就容易的多了

Java類的推薦書籍:

HeadFirst java、 Java編程思想、Java2核心技術、Java程序設計經典教程

Android類的推薦書籍:

Android應用開發詳解、 Android應用開發揭秘、 Android游戲開發詳解

Java類的書我建議您先看HeadFirst Java,這本書是美國人寫的有中文版,文風詼諧幽默又不失專業,有助於培養學習的興趣

Android類的書我建議您先看 Android應用開發詳解,內容很細代碼也全,注釋很多,可讀性強

所有人在學習任何新知識時都是從零開始,head first java這本書有很多例子,至少可以通過復制書上代碼編寫一兩個小程序,這就是很好的開始啊。 你先看看這些把 開發安卓軟體以及游戲沒點基礎不行的 再說要人人都能開發安卓軟體 為什麼有那麼多科技公司 招聘安卓軟體開發 安卓工程師 月薪有那麼的高
如何做一個手機游戲?一個人做可能嗎?
至少要一個團隊
做一個手機游戲需要什麼東西大概
做手機游戲,首先你有編程基礎是再好不過的了。手機游戲開發的平台是JME,一般不會用到C++。當然學過C++的更好。

做手機游戲,首先你有編程基礎是再好不過的了。手機游戲開發的平台是JME,一般不會用到C++。當然學過C++的更好。

你學的可能是JEE,所以你一定要把JME好好學一下,重點是MIDlet,CANVAS,RecordStore。此外MIDP1.0和2.0的特性要搞清楚,如果做和網路有關的還要學習MIDP網路編程。掌握這些就基本上門什麼問題了,學的不多,對於一個會C++/JEE的人來說,應該可以在1個月左右學完。和其他語言一樣,JME關鍵是要多練,自己試著開發幾個小游戲出來是不錯的練習辦法,可以找出你學習上的不足點。有條件的話,做出來的游戲應該拿到真機上運行,因為在模擬器上運行和真機有區別。

如果是獨立開發手游,那麼還要掌握一些基本的軟體,如PhotoShop,Mappy,和簡單的聲效處理。另外有需求的話可以學學JTWI,特別是Mobile 3D Graphics(M3G)技術,這是以後發展的趨勢,總之,你就再需要學JME和多練習,就夠了。PS.一般來說JME工程師比JSE和JEE的待遇要好一些。
怎樣製作手機游戲
手機游戲的整個製作過程十分簡單。從某種角度而言,它是一種傳統的回歸,同時也是新舊技術的相互融合。最常用的開發工具有vc++,j builder及codewarrior,在設計工具上則更是和普通的pc游戲製作軟體沒有大的區別。有的設計人員更願意使用「骨灰級」的二維設計工具dp,也有人願意用3dmax、maya建模之後再進行二維修改,當然所有這些方法都要根據游戲的最終設定來決定。我們在做java游戲的時,一般都是採用像素級的二維繪制完成圖片,即逐個像素點的完成。但在製作pda等類似設備的游戲時,就會採用3dmax或者maya建立模型,渲染後再修整。在設計過程使用了maya、3dmax、photoshop、painter等工具。

D. 請問如何用c語言編寫手機游戲

java不好編寫,因為java是專門編寫網路腳本的,用java編寫佷麻煩,c語言編寫需要c4dioid軟體,這是一個編寫軟體的環境,利用c語言編好游戲,然後選擇導出,導出之後就是apk(軟體安裝包)了,只有編寫了正確c語言格式的文本,才能導出成apk。
最後說一句,java也可以編寫手機游戲,但不適合初學者,因為java比c語言要難,還是先學習c語言再學java吧。

E. 手機怎麼編程游戲

首先我們進入手機游戲版首先,我們使用手指打開設置找到代碼之後滑動屏幕的懸浮球即可使用代碼

F. 如何用c語言編一個完整的游戲

可以看看windows的API啊,編界面的,如果只用命令行的話……orz……

手機游戲C不如java強大的說

G. c語言能編寫手機游戲嗎

C語言可以編手機游戲. 你叫他去死 不過我這有 貪吃蛇的代碼,你倒可以看看 (用TC 編譯一定過)

#include <stdlib.h>
#include <graphics.h>
#include <bios.h>
#include <dos.h>
#include <conio.h>
#define Enter 7181
#define ESC 283
#define UP 18432
#define DOWN 20480
#define LEFT 19200
#define RIGHT 19712
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
void interrupt (*oldhandler)(__CPPARGS);
void interrupt newhandler(__CPPARGS);
void SetTimer(void interrupt (*IntProc)(__CPPARGS));
void KillTimer(void);
void Initgra(void);
void TheFirstBlock(void);
void DrawMap(void);
void Initsnake(void);
void Initfood(void);
void Snake_Headmv(void);
void Flag(int,int,int,int);
void GameOver(void);
void Snake_Bodymv(void);
void Snake_Bodyadd(void);
void PrntScore(void);
void Timer(void);
void Win(void);
void TheSecondBlock(void);
void Food(void);
void Dsnkorfd(int,int,int);
void Delay(int);
struct Snake
{int x;int y;int color;}Snk[12];
struct Food
{int x;int y;int color;}Fd;
int flag1=1,flag2=0,flag3=0,flag4=0,flag5=0,flag6=0,
checkx,checky,num,key=0,Times,Score,Hscore,Snkspeed,TimerCounter,TureorFalse;
char Sco[2],Time[6];
void main()
{ Initgra();
SetTimer(newhandler);
TheFirstBlock();
while(1)
{DrawMap();
Snake_Headmv();
GameOver();
Snake_Bodymv();
Snake_Bodyadd();
PrntScore();
Timer();
Win();
if(key==ESC)
break;
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
TheSecondBlock();
Food();
Delay(Snkspeed);
}
closegraph();
KillTimer();
}
void interrupt newhandler(__CPPARGS)
{
TimerCounter++;
oldhandler();
}
void SetTimer(void interrupt (*IntProc)(__CPPARGS))
{
oldhandler=getvect(0x1c);
disable();
setvect(0x1c,IntProc);
enable();
}

void KillTimer()
{
disable();
setvect(0x1c,oldhandler);
enable();
}
void Initgra()
{int gd=DETECT,gm;
initgraph(&gd,&gm,"d:\\tc");
}
void TheFirstBlock()
{setcolor(11);
settextstyle(0,0,4);
outtextxy(100,220,"The First Block");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
Initsnake();
Initfood();
Score=0;
Hscore=1;
Snkspeed=10;
num=2;
Times=0;
key=0;
TureorFalse=1;
TimerCounter=0;
Time[0]='0';Time[1]='0';Time[2]=':';Time[3]='1';Time[4]='0';Time[5]='\0';
}
else if(key==ESC) cleardevice();
else goto loop;
}
void DrawMap()
{line(10,10,470,10);
line(470,10,470,470);
line(470,470,10,470);
line(10,470,10,10);
line(480,20,620,20);
line(620,20,620,460);
line(620,460,480,460);
line(480,460,480,20);
}
void Initsnake()
{randomize();
num=2;
Snk[0].x=random(440);
Snk[0].x=Snk[0].x-Snk[0].x%20+50;
Snk[0].y=random(440);
Snk[0].y=Snk[0].y-Snk[0].y%20+50;
Snk[0].color=4;
Snk[1].x=Snk[0].x;
Snk[1].y=Snk[0].y+20;
Snk[1].color=4;
}
void Initfood()
{randomize();
Fd.x=random(440);
Fd.x=Fd.x-Fd.x%20+30;
Fd.y=random(440);
Fd.y=Fd.y-Fd.y%20+30;
Fd.color=random(14)+1;
}
void Snake_Headmv()
{if(bioskey(1))
{key=bioskey(0);
switch(key)
{case UP:Flag(1,0,0,0);break;
case DOWN:Flag(0,1,0,0);break;
case LEFT:Flag(0,0,1,0);break;
case RIGHT:Flag(0,0,0,1);break;

default:break;
}
}
if(flag1)
{checkx=Snk[0].x;
checky=Snk[0].y;
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Snk[0].y-=20;
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
}
if(flag2)
{checkx=Snk[0].x;
checky=Snk[0].y;
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Snk[0].y+=20;
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
}
if(flag3)
{checkx=Snk[0].x;
checky=Snk[0].y;
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Snk[0].x-=20;
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
}
if(flag4)
{checkx=Snk[0].x;
checky=Snk[0].y;
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Snk[0].x+=20;
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
}
}
void Flag(int a,int b,int c,int d)
{flag1=a;flag2=b;flag3=c;flag4=d;}
void GameOver()
{int i;
if(Snk[0].x<20||Snk[0].x>460||Snk[0].y<20||Snk[0].y>460)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"Game Over");
loop1:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
else
if(key==ESC)
cleardevice();
else
goto loop1;
}
for(i=3;i<num;i++)
{if(Snk[0].x==Snk[i].x&&Snk[0].y==Snk[i].y)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"Game Over");
loop2:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
else
if(key==ESC)
cleardevice();
else goto loop2;
}
}
}
void Snake_Bodymv()
{int i,s,t;
for(i=1;i<num;i++)
{Dsnkorfd(checkx,checky,Snk[i].color);
Dsnkorfd(Snk[i].x,Snk[i].y,0);
s=Snk[i].x;
t=Snk[i].y;
Snk[i].x=checkx;
Snk[i].y=checky;
checkx=s;
checky=t;
}
}
void Food()
{if(flag5)
{randomize();
Fd.x=random(440);
Fd.x=Fd.x-Fd.x%20+30;
Fd.y=random(440);
Fd.y=Fd.y-Fd.y%20+30;
Fd.color=random(14)+1;
flag5=0;
}
Dsnkorfd(Fd.x,Fd.y,Fd.color);
}
void Snake_Bodyadd()
{if(Snk[0].x==Fd.x&&Snk[0].y==Fd.y)
{if(Snk[num-1].x>Snk[num-2].x)
{num++;
Snk[num-1].x=Snk[num-2].x+20;
Snk[num-1].y=Snk[num-2].y;
Snk[num-1].color=Fd.color;
}
else
if(Snk[num-1].x<Snk[num-2].x)
{num++;
Snk[num-1].x=Snk[num-2].x-20;
Snk[num-1].y=Snk[num-2].y;
Snk[num-1].color=Fd.color;
}
else
if(Snk[num-1].y>Snk[num-2].y)
{num++;
Snk[num-1].x=Snk[num-2].x;
Snk[num-1].y=Snk[num-2].y+20;
Snk[num-1].color=Fd.color;
}
else
if(Snk[num-1].y<Snk[num-2].y)
{num++;
Snk[num-1].x=Snk[num-2].x;
Snk[num-1].y=Snk[num-2].y-20;
Snk[num-1].color=Fd.color;
}
flag5=1;
Score++;
}
}
void PrntScore()
{if(Hscore!=Score)
{setcolor(11);
settextstyle(0,0,3);
outtextxy(490,100,"SCORE");
setcolor(2);
setfillstyle(1,0);
rectangle(520,140,580,180);
floodfill(530,145,2);
Sco[0]=(char)(Score+48);
Sco[1]='\0';
Hscore=Score;
setcolor(4);
settextstyle(0,0,3);
outtextxy(540,150,Sco);
}
}
void Timer()
{if(TimerCounter>18)
{Time[4]=(char)(Time[4]-1);
if(Time[4]<'0')
{Time[4]='9';
Time[3]=(char)(Time[3]-1);
}
if(Time[3]<'0')
{Time[3]='5';
Time[1]=(char)(Time[1]-1);
}
if(TureorFalse)
{setcolor(11);
settextstyle(0,0,3);
outtextxy(490,240,"TIMER");
setcolor(2);
setfillstyle(1,0);
rectangle(490,280,610,320);
floodfill(530,300,2);
setcolor(11);
settextstyle(0,0,3);
outtextxy(495,290,Time);
TureorFalse=0;
}
if(Time[1]=='0'&&Time[3]=='0'&&Time[4]=='0')
{setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"Game Over");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
}
else if(key==ESC) cleardevice();
else goto loop;
}
TimerCounter=0;
TureorFalse=1;
}
}
void Win()
{if(Score==3)
Times++;
if(Times==2)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"You Win");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
TheFirstBlock();
key=0;
}
else if(key==ESC) cleardevice();
else goto loop;
}
}
void TheSecondBlock()
{if(Score==3)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(100,220,"The Second Block");
loop:key=bioskey(0);
if(key==Enter)
{cleardevice();
Initsnake();
Initfood();
Score=0;
Hscore=1;
Snkspeed=8;
num=2;
key=0;
}
else if(key==ESC) cleardevice();
else goto loop;
}
}
void Dsnkorfd(int x,int y,int color)
{setcolor(color);
setfillstyle(1,color);
circle(x,y,10);
floodfill(x,y,color);
}
void Delay(int times)
{int i;
for(i=1;i<=times;i++)
delay(15000);
}

H. 如何製作手機游戲

手機游戲製作

全球手機頂尖游戲3d motoracer 製作全揭密

圖文_吳剛 北京數位紅軟體應用技術有限公司執行董事

林志強 數位紅nightmare ii首席三維美術設計師

王科 數位紅motoracer3d首席三維美術設計師

3d motoracer 是數位紅公司開發的一款針對nokia s60設備及sony ericsson p800 (uiq)的3d游戲,該游戲上市幾個月來,已經成為全球最暢銷的nokia s60、p800游戲應用前三名之一。本文就是對3d motoracer 的開發過程進行大致的介紹。

i. 游戲引擎的准備

在製作游戲之前,必須有一套經過長期測試並且適用的游戲引擎。

數位紅用了兩年的時間總結開發出一套基於移動設備的游戲引擎:dragon bone game engine for mobile phone(龍骨),他可以支持目前大部分的高端移動設備,它不僅可以使程序開發人員及游戲項目節省了大量的時間,另外還可以讓美術人員最直觀的看到其設計效果。它最大的價值就是可以使開發人員的一套代碼在不需要改動程序的情況下編譯運行在不同設備平台上(改動不超過20%)。目前數位紅及其他公司已經使用它開發游戲超過了30款。

引擎提供了非常完善的9個模塊與3個增強模塊,可以完全滿足各類游戲開發的需要。游戲引擎可以直接嵌入到開發者的程序中,不需要額外的支持程序即可使所開發的游戲獨立運行。游戲引擎簡單、易用,編譯後體積很小,佔用內存也很小,可以節省玩家的內存空間及無線下載費用。基本引擎包含9個模塊,引擎函數界面提供了類似windows的使用模式:

1、 文件操作模塊:提供類似標准c的fopen,fclose等函數。

2、 內存管理模塊

3、 2d圖形圖象模塊

4、 對話框模塊

5、 sms操作模塊:可以在程序內部對sms的收發進行截獲處理。

6、 加密模塊:提供識別使用設備的imei功能,用於軟體的加密目的。

7、 聲音模塊

8、 資源打包及壓縮模塊:可是使最後發售的軟體包體積變小,盡量少的佔用用戶的內存空間。

9、 常用函數:如字元串操作等函數。

10、例子:提供一套完整游戲magicline的源程序。

引擎增強模塊構成

其增強部分,包含三個模塊:

1、 實時3d增強模塊

2、 聲音增強模塊

3、 圖形文件增強模塊

ii. 正式開發的前期工作

a. 開發工具的准備

在很多人看來,手機游戲還是一種很新鮮時尚的玩意兒,所以,談起手機游戲的時候難免有種莫測高深的感覺。其實,手機游戲的整個製作過程十分簡單。從某種角度而言,它是一種傳統的回歸,同時也是新舊技術的相互融合。最常用的開發工具有vc++,j builder及codewarrior,在設計工具上則更是和普通的pc游戲製作軟體沒有大的區別。有的設計人員更願意使用「骨灰級」的二維設計工具dp,也有人願意用3dmax、maya建模之後再進行二維修改,當然所有這些方法都要根據游戲的最終設定來決定。我們在做java游戲的時,一般都是採用像素級的二維繪制完成圖片,即逐個像素點的完成。但在製作pda等類似設備的游戲時,就會採用3dmax或者maya建立模型,渲染後再修整。在設計過程中,我們也與大多數游戲公司一樣使用了maya、3dmax、photoshop、painter等工具。

b. 確定游戲的各項參數及目標設備

這要求程序人員能給出准確的圖片限制大小,即所有圖片允許美工佔用多少空間。由於手機游戲的製作受數據量的限制很大,所以我們在設計游戲時,經常為減少1k空間大小而大傷腦筋。另外,就是需要准確了解該手機允許的色彩數、解析度、整屏刷新率,其實這也是對游戲引擎的一種測試。

以motoracer 3d為例,我們設想使其運行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平台上。在數位紅,由於我們擁有了自主開發引擎dragon bone game engine for mobile phone,游戲引擎是跨平台的,所以這一步驟我們就省去了不少時間。我們以nokia 7650/3650為最初調試藍本,原因是在這些設備中,nokia 7650/3650的速度相對較慢,屏幕尺寸也相對其他設備小,因此以它為基礎設備最為合適。

如下表,我們設計了motoracer 3d的基本技術參數。

技術參數 達成目標及要求

圖像刷新速度 >18/fps

文件安裝完成大小 <1000k

文件未安裝大小 <400k

佔用內存峰值 <700k

使用過程中游戲佔用內存 <700k

游戲與操作系統兼容性 nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc

游戲圖形特效清單 無 alpha

圖形文件

聲音文件 .wav

數據自定義

目錄結構/變動文件清單

使用的動態鏈接庫 未知

下面是經過初步估計的基本圖片清單:

跑道外面的沙地草地元素

跑道的邊上的指示方向的牌。(左右)

跑道地面元素

背景的天空圖。

起跑線。

選擇的時候得車圖(4張)

比賽開始前站立的背面圖(4張)。

比賽時候得車加人背面圖(4套,每套9張,分別9個角度,從直立開始,每15度一張。)

撞車後的圖(3楨)

比賽完畢名次畫面。

速度儀表圖。

數字(0至9等寬橫排,分別有4套,速度數字,檔位數字,排位數字)

菜單背景

top ten

按鈕

巡迴賽排名的背景

c. 准備游戲策劃

很多開發者認為,手機游戲的策劃不重要,這個觀點是嚴重錯誤的,手機游戲的美術與程序開發工作量都非常有限,其表現力也受非常大的制約,因此一款手機游戲的可完性如何在某種意義上完全取決於游戲策劃本身。

在此過程中,手機游戲策劃基本同傳統游戲策劃無異。但游戲策劃必須要對游戲的操作做出准確的設計,每個手機的鍵盤都不太相同,畢竟pc上的鍵盤基本都是101鍵。

再就是根據上面第一步給定的美工空間限制,美工要同策劃共同商議,嚴格計算每張圖片佔用的空間,甚至是一個小圖標都是不可以漏掉的。

以motoracer 3d為例,我們的游戲策劃做了大量有關物理力學方面的公式,使其美工在設計圖片時更符合真實的效果。

如下表:我們將每種賽車的速度特性均體現出來。

gear 1 gear 2 gear 3 gear 4 gear 5 grip 顏色

車1 最大速度(mph) 97 107 135 156 176 0.45 綠黃

加速度(mph/秒) 21 18 16 12 8

車2 最大速度(mph) 90 102 127 148 168 0.25 紫黃

加速度(mph/秒) 23 20 18 14 10

車3 最大速度(mph) 102 112 140 160 180 0.65 藍黃

加速度(mph/秒) 20 16 13 10 7

車4 最大速度(mph) 94 105 133 152 172 0.35 黃藍

加速度(mph/秒) 22 19 17 13 9

車5 最大速度(mph) 104 115 145 166 182 0.75 黑紅

加速度(mph/秒) 19 17 14 10 7

車6 最大速度(mph) 92 105 133 152 178 0.5 紅黃

加速度(mph/秒) 21 18 15 11 8

d. 美術及程序開發工作

motoracer 的貼圖設計

建立摩托車的模型與賽手

調整運行時的動作

另外最重要的就是如果想做一款motoracer這樣的游戲,首先自己就應該是摩托車的行家,我們motoracer 3d的首席美術設計師王科,就是一個瘋狂的摩托車發燒友,他可以為了攢錢買機車,啃一年的饅頭。呵…

e. demo測試

測試工作以motoracer 3d為例,我們開發周期6個月,因為有了引擎的緣故,使主代碼開發周期縮短至3個月,為了保證這款產品具備國際水準,剩餘的3個月我們基本都在找問題、雞蛋里挑骨頭。於是一款位列全球手機游戲銷售前三名的motoracer 3d終於出爐了。

當然,在數位紅像motoracer 3d的幸運產品並不多,數位紅有30%的產品在demo期間就因為可完性、操作感等問題最終沒有面世。畢竟想要打造一個優秀的品牌是要做出很大犧牲的。

iii. 手機游戲製作寶典

由於手機硬體設備方面的諸多限制和性能差異,我們在游戲的開發和製作過程中無法天馬行空般的進行創作,而不得不綜合考慮到多方因素的平衡。下面列出的是一些關鍵的性能參數,這些參數都直接影響游戲的效果。

解析度

手機的屏幕大小各有不同,從80*30到320*240,就好比在pc發展過程中的cga、ega乃至vga,解析度的高低直接導致了造型的大小及表現力,這點相信每個設計人員都有所體會。另外,由於手機型號及操作系統的多樣性,導致了一款游戲並不能不加改動的在不同的手機上運行。對於美術設計人員而言,就要在設計之初考慮屏幕的自適應問題。比如在128×128解析度下與200×200的解析度下,如何可以不重新更換圖片,但又達到同樣的效果?

色彩數量

目前手機能達到的色彩數量也是限制美術人員發揮的一個重要瓶頸。從過去幾年的黑白屏幕手機到現今256色、4096色及真彩色。digital-red在開發游戲時接觸過非常多的手機,其中有的手機號稱能顯示4096色,但我們將一張4096色的色階圖進行顯示,便發現有的顏色根本無法區分,更讓人吃驚的是,個別手機還色偏嚴重。所以,設計人員是一定要根據實際手機進行圖片繪制,在此,digital-red有過非常多的教訓。

明亮度

液晶屏幕由於其獨特的發光原理,並不能達到傳統顯示器的亮度,同時也就導致了很多色彩豐富的圖案在強光下,不能顯示出原有的效果,這點在手機戶外顯示時尤其明顯。因此設計人員在設計手機游戲圖片時一定要考慮這點,不能將色彩對比度設置的過於接近、圖片設計一定要簡潔明快,避免過小的圖片。

顯示速度

在我們接觸的手機里,很多由於運算速度的問題,導致動畫幀數並不能流暢,甚至達到不了10幀/秒,這對於游戲動畫而言是致命的,我們一般採取局部刷幀或者盡量避免全屏幕動畫來盡量達到預期效果。而且液晶屏幕本身也有顯示速度問題,我們就發現過很多手機都有影像「拖尾」情況。這種情況,在實際游戲中很容易造成玩家的視覺疲勞,尤其在顛簸的車上或者是行動中,游戲時間過長,就有頭暈目眩的感覺。如此,即使是一款優秀的游戲也無法留住玩家了。

電力

由於手機是液晶屏幕,大多數設備在高亮度的像素顯示與一般像素顯示上,兩者耗電量是有所區別的,例如白色背景就要比黑色背景消耗更多的電池能量。因此,對於手機游戲而言,要盡可能節省玩家的電池,也算是對玩家的一種體貼吧。

手機游戲開發過程中的一些錯誤觀念

很多想開發手機游戲的朋友們對於手機游戲都充滿了幻想,digital-red也曾與這些朋友們一樣,在腦海中有非常多的想法等待實現,但一旦真正開發游戲的時候我們就發現很不現實,這里將幾個常見的錯誤認識與諸位分享:

移植pc游戲到手機上

pc上的游戲已經以百兆來計算其佔用空間了,而很多手機游戲是以k來計算,大多數的手機游戲能安裝60k的游戲就算不錯了。

j2me游戲不用改動可以運行在各種手機上

j2me在移動設備上有一個midp 1.0標准,但各個手機廠商在推出支持j2me的手機上都對其進行了擴充甚至改動,一個程序想要達到最理想的效果就一定要針對不同型號的手機。

用java開發手機游戲要比用c++好

使用java開發手機游戲的確非常方便,但在效果與性能上很難與c++代碼實現效果比擬。如在symbian os/wince設備上我們還是推薦盡量使用c++來開發為好。

java開發出的應用程序佔用的空間小

在開發小型應用時,java程序的確空間佔用較小,但如果游戲項目過大,java游戲的小巧優勢就很難體現了。

手機游戲策劃與傳統游戲策劃無異

手機游戲的策劃禁忌非常多,要求策劃人員必須全面了解手機的技術性能才能做出針對性的優秀游戲。

美術可以畫大圖,然後再縮小

一張大圖如果縮成12*12大小,效果就可想而知了。

I. 如何用手機進行編程

這里介紹3種可以在手機上編程的app,分別是c語言編譯器(c語言)、AIDE集成開發環境(java)、QPython3(python),都不需要root,可以直接編寫程序並運行,下面我簡單介紹一下這3個app的安裝和簡單使用,主要內容如下:

1.下載安裝,這里以我的vivo手機為例,直接打開「應用商店」,搜索「C語言編譯器」,如下,直接點擊下載安裝:

測試代碼如下,這里編寫了2個函數,分別是2數之和和2數只差,很簡單:

程序運行截圖如下,需要先輸入2個數,才能正常運行:

1.下載安裝,這直接在應用商店裡搜素「AIDE」就行,直接下載安裝,如下:

這里測試一下,主要代碼如下,官方自帶的例子:

程序運行截圖如下:

1.下載安裝,這里直接在應用商店裡搜索「QPython3」就行,直接下載安裝,如下:

主界面如下,主要分為「終端」、「編輯器」、「程序」、「QPYPI」、「課程」、「社區」這6個模塊,終端類似IDLE,編輯器類似記事本,QPYPI是第三方包和工具,程序存儲官方自帶的示例,課程是一些教學案例:

這里測試一下官方自帶的例子—speaky.py,在「程序」這個模塊下,代碼如下:

點擊運行按鈕,程序運行截圖如下:

至此,這3個app都介紹完畢。總的來說,使用起來都不錯,各有各的功能,當然,還有許多其他的app也可以在手機上進行編程,像c4droid(c/c++),termux(高級終端,類似linux)等,這里我就不詳細介紹了,感興趣的可以在網上搜索一下,有相關教程和示例可供參考,希望以上分享的內容能對你有所幫助吧。

很高興能回答你的問題

我就自己使用過的一些手機編程軟體來進行說明。之前學習網頁開發,為了讓自己隨時隨地使用編程,攜帶方便。
第一種 html-css-js
這款軟體,看著名字就知道是和html相關的網頁開發,它是由踏宇 科技 開發的一款手機開發網頁的APP。不僅有編程、編譯功能,還可以進行網頁開發學習,內附很多關於網頁設計(css,js)。真正做到編寫,學習兩不誤。

這是代碼編寫界面:

這是學習界面:

但哎,我現在基本不使用它來編程了,當你使用到手機鍵盤里的,你就知道為啥了。
第二種,C++pro
這一款手持編程APP軟體,是我比較喜歡的一款,功能很強大,不僅可以編寫C語言、C++、C#而且還可以編寫PHP、Nodejs、go等。可以說,你擁有了這一款APP,就相當於同時擁有了多個編程APP軟體啦。

這是打開後的主界面。不難發現有很多種語言的編寫模塊。更加強大的是,它還可以在編寫代碼後做一個選擇,選擇要運行的語言工具。

當然如果大量代碼運行的話,可能會比較遲緩。

兩款手機編程APP分享給大家!

這里介紹3種可以在手機上編程的app,分別是c語言編譯器(c語言)、AIDE集成開發環境(java)、QPython3(python),都不需要root,可以直接編寫程序並運行,下面我簡單介紹一下這3個app的安裝和簡單使用,主要內容如下:

1.下載安裝,這里以我的vivo手機為例,直接打開「應用商店」,搜索「C語言編譯器」,如下,直接點擊下載安裝:

測試代碼如下,這里編寫了2個函數,分別是2數之和和2數只差,很簡單:

程序運行截圖如下,需要先輸入2個數,才能正常運行:

1.下載安裝,這直接在應用商店裡搜素「AIDE」就行,直接下載安裝,如下:

這里測試一下,主要代碼如下,官方自帶的例子:

程序運行截圖如下:

1.下載安裝,這里直接在應用商店裡搜索「QPython3」就行,直接下載安裝,如下:

主界面如下,主要分為「終端」、「編輯器」、「程序」、「QPYPI」、「課程」、「社區」這6個模塊,終端類似IDLE,編輯器類似記事本,QPYPI是第三方包和工具,程序存儲官方自帶的示例,課程是一些教學案例:

這里測試一下官方自帶的例子—speaky.py,在「程序」這個模塊下,代碼如下:

點擊運行按鈕,程序運行截圖如下:

至此,這3個app都介紹完畢。總的來說,使用起來都不錯,各有各的功能,當然,還有許多其他的app也可以在手機上進行編程,像c4droid(c/c++),termux(高級終端,類似linux)等,這里我就不詳細介紹了,感興趣的可以在網上搜索一下,有相關教程和示例可供參考,希望以上分享的內容能對你有所幫助吧。

用手機進行編程,也是腦洞大開了啊,不過話說回來,手機上到底能不能進行編程呢?當然是可以的,現在手機的性能可以說不亞於電腦的,那麼我下面給大家分享幾個用手機編程的辦法。
1.c語言編譯器
這個軟體可以說是學習c語言的實用工具了,給大家介紹一下它的特點,就是小,沒錯內存只有10M左右,而且軟體干凈啊,使用起來沒有什麼廣告,用起來效率也是非常高的。

2.JAVA編輯器
如果你喜歡使用JAVA這個語言的話,這款軟體留非常的適合你,專門做JAVA代碼開發,你可以用它做一些小 游戲 ,功能非常的強大,而且使用的功能又很簡單。

可以在線編輯demo 跑基本環境 但是涉及到功能模塊開發 還是需要電腦的,

手機只能簡單編輯腳本 以及 代碼的部分存儲

坐公交坐地鐵或排隊等待的時候閑著沒事可以在手機上編程學習,但是總得來說手機上編程不怎麼舒適。

第一款: pythonista3 phython編程app,特點:編寫方便,交互感強,API強大

a.編輯器包含: 1. 語法高亮 2.自動補全符號 3.個性化python鍵盤 等功能

b.清晰的標簽,讓你在各個文件間輕松切換!

c.完美的提示窗口,手機上編寫命令行也能從容自如

d.方便的2d引擎庫,快速寫出一個小 游戲 吧

第二款: mimo 學習編程app,特點:適合學習,操作簡單,界面萌化

a.趣聞教學: 可以選擇一門語言進行學習,內容非常易懂,操作也簡單,mimo支持23種編程語言的教程,值得玩一玩。

b.編輯也很方便

第三款:my phython quiz 幫你復習python的app。 特點:碎片化學習

沒事在路上多刷刷題吧,有助於增強熟練度。

第四款: Udacity 目前最全,最優質的編程課程app。 特點:老師優質,矽谷資源,最新 科技

屏幕太小了,小心點眼睛。

網路搜索以下軟體,或者編程器

NO.1 c4droid

一款手機上的c語言編譯器。

個人認為手機上最好用的,沒有之一!c4droid是款Android設備上的C/C++程序編譯器。

NO.2 AIDE

功能強大,內置學習教程。

AIDE是一個Android Java集成開發環境,可以讓你在Android系統內進行Android軟體和 游戲 的開發。

NO.3 我的應用iapp

專為手機研發,代碼編寫簡單,學習容易。

iapp還很年輕,特別需要大家的支持!

NO.4 cppdroid

和c4droid一樣,是一款手機上的c語言編譯器。

安卓上的C/C++編譯環境,可以幫助你在手機上編寫c/c++程序 ,和c4droid各有優點,cppdroid最大的優點就是可以即時報錯,寫一個字元就檢查一遍,保證程序的正確性,而且編譯速度快,雖然還有部分地方趕不上c4droid,但是和c4droid搭配還是不錯的。

網路可以查查

J. 編寫一個手機單機游戲回合制的,是用c 語言編寫還是用c ++編寫,具體是用哪個語言

你發的代碼是用C語言寫的,小游戲。
C和C++語言編譯的exe程序是不能在手機上運行的,Java可以

熱點內容
絕地求生未來之役比賽為什麼進不去 發布:2023-08-31 22:07:08 瀏覽:1391
dota2位置什麼意思 發布:2023-08-31 22:00:04 瀏覽:832
lol電競是什麼樣子 發布:2023-08-31 21:58:40 瀏覽:1291
絕地求生八倍鏡的那個圓圈怎麼弄 發布:2023-08-31 21:58:31 瀏覽:1377
lol龍龜一個多少金幣 發布:2023-08-31 21:55:07 瀏覽:741
王者如何改游戲內名稱 發布:2023-08-31 21:55:06 瀏覽:1032
游戲主播打廣告是什麼意思 發布:2023-08-31 21:55:06 瀏覽:1713
絕地求生如何免費拿到ss7賽季手冊 發布:2023-08-31 21:52:13 瀏覽:908
pgg是哪個國家的戰隊lol 發布:2023-08-31 21:52:07 瀏覽:789
一個人的時候才發現游戲很沒意思 發布:2023-08-31 21:49:24 瀏覽:1424