網(wǎng)頁小游戲的制作
提問問題
列表
-
用烤箱做蛋糕要加水嗎?
查看答案>>
-
買銀貔貅的時候送了一袋像冰糖一樣的東西是什么 在線等
查看答案>>
-
橙光游戲立繪的正常尺寸是多少?
查看答案>>
-
頭文字D有一個flash小游戲,請問里面怎么改車和換車,好像不該沒法贏GTR(舊的啊)
查看答案>>
-
FLASH軟件應用領域有哪些?
查看答案>>
-
怎么制作一個網(wǎng)頁游戲
查看答案>>
-
一個網(wǎng)絡游戲的制作成本是????
查看答案>>
-
怎么制作一個網(wǎng)頁游戲
查看答案>>
用烤箱做蛋糕要加水嗎?
做蛋糕不需要加水,做法如下: 做法: 1.準備好雞蛋,蛋糕粉,油和糖?! ?.準備好面粉篩,刮刀?! ?.雞蛋加入盆里?! ?.加糖打發(fā)?! ?.面粉倒入篩內(nèi)?! ?.蛋液打發(fā)好了,篩入蛋糕粉?! ?.用刮刀上下切拌均勻。 8.加入玉米油切拌均勻?! ?.準備好紙杯?! ?0.倒入面糊?! ?1.撒上芝麻?! ?2.烤箱先預熱,再放入烤盤?! ?3.165度,上下火烤25分鐘即可。
買銀貔貅的時候送了一袋像冰糖一樣的東西是什么 在線等
發(fā)個照片來看看這個嗎
等等
讓我想想是什么
好吧 做等
你生肖是什么
這和生肖有關系嗎
有
你是虎的就不可以戴
鼠
噢
買的貔貅 97年 鼠
哪個到底是什么東西
你捏捏看
硬嗎
硬 表面很光滑
肯定不是冰糖
是不是洗銀用的
哦
貔貅有照片嗎
發(fā)來看一下
應該是吧
橙光游戲立繪的正常尺寸是多少?
立繪高度是540就好了,其實沒有540也沒關系,只要看起來不違和就行。背景是960*540,這個有硬性要求。寬度是540,長度是400
但是540不就和背景一樣高了嗎?這樣不是就太高了么?
你是說人物立繪嗎?關于人物立繪大小并沒有限制,依靠你自身需求判斷。但是人物大小最好調(diào)到一致。標準比例是540x400。但是我個人意見標準比例不太靠譜,你自己看立繪大小而決定比例,這樣看上去會較美觀。過審的話,人物立繪一定要統(tǒng)一不能二三次元混用。劇情要有條理性,不能毫無理由的弄出致死選項。字數(shù)大約要5000左右或5000以上,不過如果你畫質(zhì)精美或者沒有觸及到以上情況,5000字以下3000字以上,也能過審。
是的
頭文字D有一個flash小游戲,請問里面怎么改車和換車,好像不該沒法贏GTR(舊的?。?/h3>
86:包圍第二個,排氣管第二個,不要尾翼,輪胎不用換,引擎蓋隨意FD: 1。啟介后期改法,這個直道快 2。輪胎yokohama AVS T7gold 前擾流板C-west 側裙C-west 后防撞桿knight,其他部件用啟介后期的,這種改法彎道快。 這2種改法綜合時間差不多,看你的喜好了R34可以按神之腳的車改。。。
問題是我怎么點它都沒有改裝的意思哦
FLASH軟件應用領域有哪些?
目前Flash被廣泛應用于網(wǎng)頁設計、網(wǎng)頁廣告、網(wǎng)絡動畫、多媒體教學軟件、游戲設計、企業(yè)介紹、產(chǎn)品展示和電子相冊等領域。 1、 網(wǎng)頁設計 為達到一定的視覺沖擊力,很多企業(yè)網(wǎng)站往往在進入主頁前播放一段使用Flash制作的歡迎頁(也稱為引導頁);此外,很多網(wǎng)站的Logo(站標,網(wǎng)站的標志)和Banner(網(wǎng)頁橫幅廣告)都是Flash動畫。 當需要制作一些交互功能較強的網(wǎng)站時,例如制作某些調(diào)查類網(wǎng)站,可以使用Flash制作整個網(wǎng)站,這樣互動性更強。 2、網(wǎng)頁廣告 因為傳輸?shù)年P系,網(wǎng)頁上的廣告需要具有短小精干、表現(xiàn)力強的特點,而Flash動畫正好可以滿足這些要求。現(xiàn)在打開任何一個網(wǎng)站的網(wǎng)頁,都會發(fā)現(xiàn)一些動感時尚的Flash網(wǎng)頁廣告?! ?、 網(wǎng)絡動畫 許多網(wǎng)友都喜歡把自己制作的Flash音樂動畫,F(xiàn)lash電影動畫傳輸?shù)骄W(wǎng)上供其他網(wǎng)友欣賞,實際上正是因為這些網(wǎng)絡動畫的流行Flash已經(jīng)在網(wǎng)上形成了一種文化。 4、 多媒體教學課件 相對于其他軟件制作的課件,F(xiàn)lash課件具有體積小,表現(xiàn)力強的特點。在制作實驗演示或多媒體教學光盤時,F(xiàn)lash動畫得到大量的引用?! ?、 游戲 使用Flash的動作腳本功能可以制作一些有趣的在線小游戲,如看圖識字游戲、貪吃蛇游戲、棋牌類游戲等。因為Flash游戲具有體積小的優(yōu)點,一些手機廠商已在手機中嵌入Flash游戲。
怎么制作一個網(wǎng)頁游戲
一、簡單的程序框架。webgame程序構成:三大部分。第一是數(shù)據(jù)流程。第二是程序。第三是美術。其中,數(shù)據(jù)流程包括了功能。也只有在功能中才能體現(xiàn)數(shù)據(jù)流程。數(shù)據(jù)流程相當?shù)穆闊竺嬖儆懻?。比如最簡單的賣買產(chǎn)品。要實現(xiàn)這個功能。那么需要有產(chǎn)品基礎表、產(chǎn)品詳細表、商店表、背包表。如果擴展性更強,相應的雙表是少不不了的。表的問題都簡單了。關鍵是這個物品有什么用。這樣物品的來源,一大堆數(shù)據(jù),物品的走向,又是一大堆數(shù)據(jù)。最后,這些數(shù)據(jù)得繞成一個圈。繞圈是一件困難的事情。特別是功能和道具多了起來的時候。難度是2的n次方。美術:UI。簡潔漂亮的界面總會有好處。小圖標。道具,地圖,裝備。一類至少10個吧?大體上百把個是需要的。程序分5個部分:服務器定時器。(C語言或自己設定服務器)定時循環(huán)執(zhí)行某一段代碼。而這段代碼主要是根據(jù)數(shù)據(jù)庫的數(shù)據(jù)進行更新。這個可以找個C語言程序員來做。對于C語言程序員來講,這個功能是相當?shù)暮唵?。當然,具體的處理數(shù)據(jù)的判斷和操作數(shù)據(jù)庫,需要你自己寫。讓C語言程序員給你段標準代碼就行了。完全支持sql語句的。功能頁面、功能函數(shù)。主要就是數(shù)據(jù)存取,判斷,數(shù)據(jù)走向。ajax函數(shù)。(可選)某些需要偽即時的功能要用到。javascript函數(shù)。(可選)模擬客戶端的數(shù)據(jù)計算。也就是webgame的與時間相關的數(shù)據(jù)。分為兩部分。一部分是真實數(shù)據(jù),是由服務器端的定時器計算的。另一部分是只有初始值,客戶端顯示用的。不需要即時同步,僅僅需要模擬同步就行。數(shù)據(jù)庫。一大堆基礎數(shù)據(jù)表和詳細數(shù)據(jù)表?;A數(shù)據(jù)表:比如等級1到等級100的用戶的屬性初始值。詳細數(shù)據(jù)表:每個用戶的具體屬性。二、一個詳細的例子。單純的討論數(shù)據(jù)流程是件痛苦的事情。討論程序而不給代碼也是比較痛苦。這里用的是php+mysql的。那就按一個超簡單的webgame的方式來討論。配上適當?shù)拇a。應該有所幫助。不足的地方也請大家指出,對我個人也是幫助。我們不去考慮游戲的可玩性,數(shù)值平衡等等問題。我們先只考慮一個簡單例子的實現(xiàn)。那么一個webgame的基本內(nèi)容需要些什么呢?數(shù)據(jù)庫:玩家、地圖、城市、建筑、武器、士兵。功能:登陸、升級、個人戰(zhàn)斗、士兵之間的戰(zhàn)斗、與城市的戰(zhàn)斗、修建建筑、打造武器、買賣道具。(注意:每一個功能,必然對應1個或多個數(shù)據(jù)表。上面數(shù)據(jù)庫中所列的只是基礎中的基礎。)首先是地圖、城市、建筑。這里認為,地圖可以有多張,城市在地圖上,建筑在城市內(nèi)。地圖表Map :Map_ID ,X坐標, Y坐標,City_ID(城市ID),描述。其中Map_ID是指地圖的id。不是自動編號。一張地圖就是一個Map_ID,可以重復。城市表City:City_ID,城市名字,城市所有人,城市等級,城市資源,描述。建筑表Build:ID,City_ID,建筑名稱,建筑等級,建筑功能。其中,地圖表確定城市的位置,城市表確定城市的相關數(shù)據(jù)以及所有人,建筑表內(nèi)的多條信息屬于某一個城市。建表后,顯示出來。一個for循環(huán)。把地圖表整個取出來就ok。跟普通網(wǎng)站的新聞列表沒太大區(qū)別。不同的是,你需要取得X坐標和Y坐標定位??梢杂胻abel也可以用div。class Map//地圖類{var $Map_ID;function Map_bg_css($Map_ID) {$this->Map_ID = $Map_ID; mysql_select_db($db_name,$link);$sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘ limit 1〃; $result=mysql_query($sql,$link); echo “<style type=”.”text”.”/”.”css>”;$rs=mysql_fetch_array($result); echo “#map{”; echo “position:absolute;”; echo “width:”.$rs[X坐標].”px;”; echo “height:”.$rs[Y坐標].”px;”; echo “z-index:0;”; echo “l(fā)eft:0px;top:0px;}”;}function Map_bg($Map_ID){$this->Map_ID = $Map_ID; $sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘”; $result=mysql_query($sql,$link);while($rs=mysql_fetch_array($result)) { echo “<div id=Layer_bg_”.$rs[X坐標].”_”.$rs[Y坐標].”>”; echo “<img src=”.$rs[Map_bg].” border=0 title=”.$rs[ID].”></div>”;} }}上面是一個很簡單的地圖類。代碼可能不太正確,意思是正確的。就是根據(jù)map表中的坐標,生成了一組div層,以及這一組層的css。你可以改為table的。你可以也把坐標放到一個字段里,用數(shù)組的形式取。使用的時候,用new map;map(N);其中N是map表里的地圖Map_ID.城市內(nèi)的建筑也類似。如果要顯示出來的話。有了地圖和城市后。涉及到的問題就是城市里資源的產(chǎn)生。這時候,City表里需要有可供判斷的時間和數(shù)量的字段。比如:產(chǎn)生資金量Money,產(chǎn)生資金花費的時間Action_Time,上次產(chǎn)生資金時間Money_time。這兩個字段的數(shù)值應該在City_base表里出現(xiàn)。(即城市基礎表,不同等級,不同類型城市的對應數(shù)值。這是給策劃填數(shù)據(jù)用的,建好表后就等策劃去頭痛吧。如果你身兼數(shù)職。。。)如何自動產(chǎn)生資源呢?我們可以在城市所有人改變的時候,寫入一個時間。或者在城市初始化的時候?qū)懭胍粋€時間。$Now_Time=date(’Y-m-d H:i:s’);(說明:$開頭是變量的意思。php里特有的。如果是asp的話可以寫成。Now_Time=Now() )把$Now_Time寫入到Money_time里。update(”UPDATE City SET Money_time=’$Now_Time WHERE City_ID=’$City_ID’ LIMIT 1;”);$City_ID是你自己定義的。指某一個城市。如:$City_ID=1;我們假定當前城市產(chǎn)生資金量為100。即$Money=100;(具體的數(shù)值,應該是由City_base表里取出的。)假設間隔時間為$Action_Time,我們再假定是每小時執(zhí)行一次。即$Action_Time=3600;(具體的數(shù)值,是根據(jù)你的初始化表里取得的。也可以根據(jù)城市等級或者用戶等級取得。反正隨便你自己怎么設定。)這時候,有基礎時間了。有基礎資金產(chǎn)量了。有間隔時間了。讓它循環(huán)執(zhí)行起來就行了。上面說過,服務端用C語言定時器??蛻舳擞胘avascript。服務端,資源定時器設定為5分鐘執(zhí)行一次。那么我們的誤差就是5分鐘。對網(wǎng)頁游戲來說,可以接受。(戰(zhàn)斗的定時器得1分鐘吧。當然服務器夠牛的話,幾秒鐘都可以。)每次執(zhí)行什么代碼呢?首先得新建一個定時器任務的表。目的就是讓定時器知道需要執(zhí)行哪些程序和數(shù)據(jù)的更新。表內(nèi)容比如:城市資源更新。當然,這個表可要可不要。建立的好處是方便處理類似保護狀態(tài)不產(chǎn)生資源之類的問題。服務端程序:獲得當前服務器時間。獲得當前需要更新城市。判斷服務器時間與$Money_time的時間差。(時間戳,具體的時間戳網(wǎng)上資料滿多的。)判斷時間差是否大于$Action_Time。 大于,則更新資源。同時更新$Money_time。小于,則無操作??蛻舳顺绦颍韩@得當前服務器時間。獲得當前城市的$Money,$Money_time,$Action_Time。使用javascript顯示剩余時間的倒計時,以及增加的資源量。客戶端特殊情況觸發(fā):因為客戶端顯示的資源情況是偽同步,所以當客戶端使用該資源的時候。需要服務端將當前的實際資源更新,屬于定時器處理的時間也需要更新。即,當客戶端觸發(fā)涉及資源的情況時,立即更新當前資源。同時更新定時器中會用到的$Money_time。這樣才不會造成,看的資源用不到,或者定時器重復產(chǎn)生資源??傮w來說。這部分程序都很簡單。難點在C語言定時器的制作,以及前臺javascipt倒計時的寫法上。C語言定時器,找個C語言程序員,超簡單;前臺的javascipt,網(wǎng)上有很多倒計時的代碼,找個來改改就能用。<SCRIPT LANGUAGE=”JavaScript”>var maxtime = 這里是你的時間差///一個小時,按秒計算,自己調(diào)整!function CountDown(){if(maxtime>=0){minutes = Math.floor(maxtime/60);seconds = Math.floor(maxtime%60);msg = “你的文字說明”+minutes+”分”+seconds+”秒”;//動態(tài)顯示剩余時間。document.all["timer"].innerHTML=msg;//if(maxtime == 3) document.all["timer"].innerHTML=’只剩3秒!’;–maxtime;}else{clearInterval(timer);document.all["timer"].innerHTML=’時間到’;}}timer = setInterval(”CountDown()”,1000);</SCRIPT><div id=timer></div>這個是網(wǎng)上找的代碼。稍微修改就可以用的。這里只是顯示了倒計時。也可以改為顯示資源的增加情況。C語言里操作mysql數(shù)據(jù)庫。// TODO: Add your control notification handler code herebool bRes = m_dbConn.Connect(”數(shù)據(jù)庫ip地址”, 3306 , “用戶名”, “[email=d203!@#ghj]密碼[/email]“, “數(shù)據(jù)庫名”); if(!bRes){AfxMessageBox(”connect fail”);return;}string strSql = “select * from city limit 1〃;//所有顯示或取值類的都用這段。中間的sql語句可以自己構造。ResultSet* rs = m_dbConn.ExecuteQuery(strSql);while(rs->Next()){string str = rs->GetString(”username”);AfxMessageBox(str.c_str());}/*strSql = “update city set money=money +100 where City_ID=’xxx’”;//所有的增加、刪除、更新都用這段,中間的sql語句可以自己構造。bRes = m_dbConn.ExecuteUpdate(strSql); if(!bRes){AfxMessageBox(”ExecuteUpdate fail”);}*/m_dbConn.Close();定時器的主函數(shù)。void CBeiLiDlg::Go(){while(true){// AfxMessageBox(”go”);Sleep(5*1000);//毫秒。定時器刷新時間。}}//相當?shù)暮唵?.。當然。這里的C的代碼不能直接用。只是一部分。地圖、城市、基本上算是有了。接下來是城市里的建筑。上面講的資源增加,其實定位在建筑上更準確。不過建筑的分類和數(shù)值會復雜很多。那是策劃考慮的問題。建筑上,只講一個前臺的修建效果。當然,這個效果是可有可無。你可以直接給個類似新聞列表的顯示,再加個倒計時就行。顯示的效果就是,點修建后。不刷新頁面,調(diào)入一張動畫圖片。并在時間到后自動轉換為其他圖片。<script language=’javascript’> function xiujian() { top.abc.document.getElementById(’前臺建筑位置所在圖片的id’).src=’修建后建筑的圖片地址’;//顯示修建后的建筑圖片??梢约由虾笈_時間判斷。其中abc,是建筑所在層的id, } function xiujian1() { setTimeout(’xiujian()’,5000);//動畫時間5秒。這里也可以加入時間判斷。當時間不到的完成的時候,繼續(xù)調(diào)用動畫。 } function donghua() { top.abc.document.getElementById(’前臺建筑位置所在圖片的id’).src=’建筑動畫所在的地址’;//顯示修建動畫。 } donghua(); xiujian1(); </script>后臺部分,把時間到增加資源的代碼改為時間到增加或更新建筑就行了。又是增加N個表。。建筑基礎表:產(chǎn)出,類型,圖片等等。。建筑詳細表:屬于哪個城市,可以在城市表里關聯(lián)。關聯(lián)的方式不同會對程序有很大的影響。各種關聯(lián)方式都行,但是一旦關聯(lián)方式確定后,最好別改動?,F(xiàn)在建筑也有了。用類似的定時方式,打工,征兵等等都可以實現(xiàn)。戰(zhàn)斗,兵的參數(shù):兵種,數(shù)量,攻擊,防御等等。戰(zhàn)斗的臨時表:誰的兵,打誰,出發(fā)時間,戰(zhàn)斗時間,戰(zhàn)斗結果。這里的幾個字到是簡單。實際的表會復雜一些。webgame中,戰(zhàn)斗的過程分兩種,一種是給出雙方參數(shù),時間到,就根據(jù)公式計算結果。一種是半即時或者即時的戰(zhàn)斗,可以邊打邊喝藥邊用技能的那種。第一種流程。點出兵。這時候,兵的參數(shù),出發(fā)時間,到達時間,都記錄進戰(zhàn)斗臨時表。定時器中,處理戰(zhàn)斗的部分,判斷時間是否到開打的時候。到開打的時間了,則取得被攻擊方的兵的參數(shù)。然后通過幾個公式計算結果。處理結果,比如誰的兵掛了多少,戰(zhàn)場掉落了多少錢,城市被誰搶到了。一大堆判斷以及updata。(這里的定時器處理和獲得資源的定時器處理是很類似的。)最后把結果分別發(fā)給雙方。(又涉及到一個短信息系統(tǒng)。)第二種流程。點攻擊。馬上就處理數(shù)據(jù)。打打npc好做。玩家之間對戰(zhàn),也可以把被攻擊的玩家當成npc來處理。兩個人或兩人以上即時戰(zhàn)斗。需要用到ajax了。目前在技術上和理論上是沒問題的,還沒實際寫代碼,所以不好講。很簡單的公式,兩種戰(zhàn)斗都可以用到:intval(sqrt($User_B_AP)-sqrt($User_A_DP));根號下攻擊-根號下防御=傷害。
一個網(wǎng)絡游戲的制作成本是????
這個得看您的所指網(wǎng)絡游戲的是大型還是小型一般來講可以分為幾類:1:大型網(wǎng)絡游戲,類似于魔獸世界,夢幻西游,這些游戲的制作成本都非常高,制作周期長人員成本高,大概幾千萬到幾億都有可能。因為一個大型客戶端網(wǎng)游需要策劃團隊,美術團隊,程序團隊等,上百人 每人的薪水范圍是年薪10萬到50萬。2:一般的網(wǎng)絡游戲,大概就是20~50人的團隊就可以做 周期也不用太長1年2年就可以搞定。上千萬的制作成本。3:手機網(wǎng)絡游戲制作成本一般就比較小了,幾十萬到幾百萬都可以做出來,品質(zhì)特別高的也就是千萬級別。制作網(wǎng)絡游戲跟技術團隊和時期有很大關系,現(xiàn)在的游戲開發(fā)人員按北上廣深比較多,薪水都是10K起 像騰訊 網(wǎng)易這類的制作團隊 每人的薪水范圍都應該是25K-50K月薪。我也是做游戲行業(yè)的,以前開發(fā)過網(wǎng)頁游戲和手機游戲。而且研發(fā)費用不是關鍵,通常情況下大頭是后續(xù)的宣傳營銷費用(打廣告和代言人),當然好游戲的利潤也是很可觀的,屬于暴利。像刀塔傳奇這個手游最高月營收到了4億,希望能幫到您。
怎么制作一個網(wǎng)頁游戲
一、簡單的程序框架。webgame程序構成:三大部分。第一是數(shù)據(jù)流程。第二是程序。第三是美術。其中,數(shù)據(jù)流程包括了功能。也只有在功能中才能體現(xiàn)數(shù)據(jù)流程。數(shù)據(jù)流程相當?shù)穆闊?,后面再討論。比如最簡單的賣買產(chǎn)品。要實現(xiàn)這個功能。那么需要有產(chǎn)品基礎表、產(chǎn)品詳細表、商店表、背包表。如果擴展性更強,相應的雙表是少不不了的。表的問題都簡單了。關鍵是這個物品有什么用。這樣物品的來源,一大堆數(shù)據(jù),物品的走向,又是一大堆數(shù)據(jù)。最后,這些數(shù)據(jù)得繞成一個圈。繞圈是一件困難的事情。特別是功能和道具多了起來的時候。難度是2的n次方。美術:UI。簡潔漂亮的界面總會有好處。小圖標。道具,地圖,裝備。一類至少10個吧?大體上百把個是需要的。程序分5個部分:服務器定時器。(C語言或自己設定服務器)定時循環(huán)執(zhí)行某一段代碼。而這段代碼主要是根據(jù)數(shù)據(jù)庫的數(shù)據(jù)進行更新。這個可以找個C語言程序員來做。對于C語言程序員來講,這個功能是相當?shù)暮唵?。當然,具體的處理數(shù)據(jù)的判斷和操作數(shù)據(jù)庫,需要你自己寫。讓C語言程序員給你段標準代碼就行了。完全支持sql語句的。功能頁面、功能函數(shù)。主要就是數(shù)據(jù)存取,判斷,數(shù)據(jù)走向。ajax函數(shù)。(可選)某些需要偽即時的功能要用到。javascript函數(shù)。(可選)模擬客戶端的數(shù)據(jù)計算。也就是webgame的與時間相關的數(shù)據(jù)。分為兩部分。一部分是真實數(shù)據(jù),是由服務器端的定時器計算的。另一部分是只有初始值,客戶端顯示用的。不需要即時同步,僅僅需要模擬同步就行。數(shù)據(jù)庫。一大堆基礎數(shù)據(jù)表和詳細數(shù)據(jù)表?;A數(shù)據(jù)表:比如等級1到等級100的用戶的屬性初始值。詳細數(shù)據(jù)表:每個用戶的具體屬性。二、一個詳細的例子。單純的討論數(shù)據(jù)流程是件痛苦的事情。討論程序而不給代碼也是比較痛苦。這里用的是php+mysql的。那就按一個超簡單的webgame的方式來討論。配上適當?shù)拇a。應該有所幫助。不足的地方也請大家指出,對我個人也是幫助。我們不去考慮游戲的可玩性,數(shù)值平衡等等問題。我們先只考慮一個簡單例子的實現(xiàn)。那么一個webgame的基本內(nèi)容需要些什么呢?數(shù)據(jù)庫:玩家、地圖、城市、建筑、武器、士兵。功能:登陸、升級、個人戰(zhàn)斗、士兵之間的戰(zhàn)斗、與城市的戰(zhàn)斗、修建建筑、打造武器、買賣道具。(注意:每一個功能,必然對應1個或多個數(shù)據(jù)表。上面數(shù)據(jù)庫中所列的只是基礎中的基礎。)首先是地圖、城市、建筑。這里認為,地圖可以有多張,城市在地圖上,建筑在城市內(nèi)。地圖表Map :Map_ID ,X坐標, Y坐標,City_ID(城市ID),描述。其中Map_ID是指地圖的id。不是自動編號。一張地圖就是一個Map_ID,可以重復。城市表City:City_ID,城市名字,城市所有人,城市等級,城市資源,描述。建筑表Build:ID,City_ID,建筑名稱,建筑等級,建筑功能。其中,地圖表確定城市的位置,城市表確定城市的相關數(shù)據(jù)以及所有人,建筑表內(nèi)的多條信息屬于某一個城市。建表后,顯示出來。一個for循環(huán)。把地圖表整個取出來就ok。跟普通網(wǎng)站的新聞列表沒太大區(qū)別。不同的是,你需要取得X坐標和Y坐標定位??梢杂胻abel也可以用div。class Map//地圖類{var $Map_ID;function Map_bg_css($Map_ID) {$this->Map_ID = $Map_ID; mysql_select_db($db_name,$link);$sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘ limit 1〃; $result=mysql_query($sql,$link); echo “<style type=”.”text”.”/”.”css>”;$rs=mysql_fetch_array($result); echo “#map{”; echo “position:absolute;”; echo “width:”.$rs[X坐標].”px;”; echo “height:”.$rs[Y坐標].”px;”; echo “z-index:0;”; echo “l(fā)eft:0px;top:0px;}”;}function Map_bg($Map_ID){$this->Map_ID = $Map_ID; $sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘”; $result=mysql_query($sql,$link);while($rs=mysql_fetch_array($result)) { echo “<div id=Layer_bg_”.$rs[X坐標].”_”.$rs[Y坐標].”>”; echo “<img src=”.$rs[Map_bg].” border=0 title=”.$rs[ID].”></div>”;} }}上面是一個很簡單的地圖類。代碼可能不太正確,意思是正確的。就是根據(jù)map表中的坐標,生成了一組div層,以及這一組層的css。你可以改為table的。你可以也把坐標放到一個字段里,用數(shù)組的形式取。使用的時候,用new map;map(N);其中N是map表里的地圖Map_ID.城市內(nèi)的建筑也類似。如果要顯示出來的話。有了地圖和城市后。涉及到的問題就是城市里資源的產(chǎn)生。這時候,City表里需要有可供判斷的時間和數(shù)量的字段。比如:產(chǎn)生資金量Money,產(chǎn)生資金花費的時間Action_Time,上次產(chǎn)生資金時間Money_time。這兩個字段的數(shù)值應該在City_base表里出現(xiàn)。(即城市基礎表,不同等級,不同類型城市的對應數(shù)值。這是給策劃填數(shù)據(jù)用的,建好表后就等策劃去頭痛吧。如果你身兼數(shù)職。。。)如何自動產(chǎn)生資源呢?我們可以在城市所有人改變的時候,寫入一個時間?;蛘咴诔鞘谐跏蓟臅r候?qū)懭胍粋€時間。$Now_Time=date(’Y-m-d H:i:s’);(說明:$開頭是變量的意思。php里特有的。如果是asp的話可以寫成。Now_Time=Now() )把$Now_Time寫入到Money_time里。update(”UPDATE City SET Money_time=’$Now_Time WHERE City_ID=’$City_ID’ LIMIT 1;”);$City_ID是你自己定義的。指某一個城市。如:$City_ID=1;我們假定當前城市產(chǎn)生資金量為100。即$Money=100;(具體的數(shù)值,應該是由City_base表里取出的。)假設間隔時間為$Action_Time,我們再假定是每小時執(zhí)行一次。即$Action_Time=3600;(具體的數(shù)值,是根據(jù)你的初始化表里取得的。也可以根據(jù)城市等級或者用戶等級取得。反正隨便你自己怎么設定。)這時候,有基礎時間了。有基礎資金產(chǎn)量了。有間隔時間了。讓它循環(huán)執(zhí)行起來就行了。上面說過,服務端用C語言定時器。客戶端用javascript。服務端,資源定時器設定為5分鐘執(zhí)行一次。那么我們的誤差就是5分鐘。對網(wǎng)頁游戲來說,可以接受。(戰(zhàn)斗的定時器得1分鐘吧。當然服務器夠牛的話,幾秒鐘都可以。)每次執(zhí)行什么代碼呢?首先得新建一個定時器任務的表。目的就是讓定時器知道需要執(zhí)行哪些程序和數(shù)據(jù)的更新。表內(nèi)容比如:城市資源更新。當然,這個表可要可不要。建立的好處是方便處理類似保護狀態(tài)不產(chǎn)生資源之類的問題。服務端程序:獲得當前服務器時間。獲得當前需要更新城市。判斷服務器時間與$Money_time的時間差。(時間戳,具體的時間戳網(wǎng)上資料滿多的。)判斷時間差是否大于$Action_Time。 大于,則更新資源。同時更新$Money_time。小于,則無操作??蛻舳顺绦颍韩@得當前服務器時間。獲得當前城市的$Money,$Money_time,$Action_Time。使用javascript顯示剩余時間的倒計時,以及增加的資源量。客戶端特殊情況觸發(fā):因為客戶端顯示的資源情況是偽同步,所以當客戶端使用該資源的時候。需要服務端將當前的實際資源更新,屬于定時器處理的時間也需要更新。即,當客戶端觸發(fā)涉及資源的情況時,立即更新當前資源。同時更新定時器中會用到的$Money_time。這樣才不會造成,看的資源用不到,或者定時器重復產(chǎn)生資源??傮w來說。這部分程序都很簡單。難點在C語言定時器的制作,以及前臺javascipt倒計時的寫法上。C語言定時器,找個C語言程序員,超簡單;前臺的javascipt,網(wǎng)上有很多倒計時的代碼,找個來改改就能用。<SCRIPT LANGUAGE=”JavaScript”>var maxtime = 這里是你的時間差///一個小時,按秒計算,自己調(diào)整!function CountDown(){if(maxtime>=0){minutes = Math.floor(maxtime/60);seconds = Math.floor(maxtime%60);msg = “你的文字說明”+minutes+”分”+seconds+”秒”;//動態(tài)顯示剩余時間。document.all["timer"].innerHTML=msg;//if(maxtime == 3) document.all["timer"].innerHTML=’只剩3秒!’;–maxtime;}else{clearInterval(timer);document.all["timer"].innerHTML=’時間到’;}}timer = setInterval(”CountDown()”,1000);</SCRIPT><div id=timer></div>這個是網(wǎng)上找的代碼。稍微修改就可以用的。這里只是顯示了倒計時。也可以改為顯示資源的增加情況。C語言里操作mysql數(shù)據(jù)庫。// TODO: Add your control notification handler code herebool bRes = m_dbConn.Connect(”數(shù)據(jù)庫ip地址”, 3306 , “用戶名”, “[email=d203!@#ghj]密碼[/email]“, “數(shù)據(jù)庫名”); if(!bRes){AfxMessageBox(”connect fail”);return;}string strSql = “select * from city limit 1〃;//所有顯示或取值類的都用這段。中間的sql語句可以自己構造。ResultSet* rs = m_dbConn.ExecuteQuery(strSql);while(rs->Next()){string str = rs->GetString(”username”);AfxMessageBox(str.c_str());}/*strSql = “update city set money=money +100 where City_ID=’xxx’”;//所有的增加、刪除、更新都用這段,中間的sql語句可以自己構造。bRes = m_dbConn.ExecuteUpdate(strSql); if(!bRes){AfxMessageBox(”ExecuteUpdate fail”);}*/m_dbConn.Close();定時器的主函數(shù)。void CBeiLiDlg::Go(){while(true){// AfxMessageBox(”go”);Sleep(5*1000);//毫秒。定時器刷新時間。}}//相當?shù)暮唵?.。當然。這里的C的代碼不能直接用。只是一部分。地圖、城市、基本上算是有了。接下來是城市里的建筑。上面講的資源增加,其實定位在建筑上更準確。不過建筑的分類和數(shù)值會復雜很多。那是策劃考慮的問題。建筑上,只講一個前臺的修建效果。當然,這個效果是可有可無。你可以直接給個類似新聞列表的顯示,再加個倒計時就行。顯示的效果就是,點修建后。不刷新頁面,調(diào)入一張動畫圖片。并在時間到后自動轉換為其他圖片。<script language=’javascript’> function xiujian() { top.abc.document.getElementById(’前臺建筑位置所在圖片的id’).src=’修建后建筑的圖片地址’;//顯示修建后的建筑圖片。可以加上后臺時間判斷。其中abc,是建筑所在層的id, } function xiujian1() { setTimeout(’xiujian()’,5000);//動畫時間5秒。這里也可以加入時間判斷。當時間不到的完成的時候,繼續(xù)調(diào)用動畫。 } function donghua() { top.abc.document.getElementById(’前臺建筑位置所在圖片的id’).src=’建筑動畫所在的地址’;//顯示修建動畫。 } donghua(); xiujian1(); </script>后臺部分,把時間到增加資源的代碼改為時間到增加或更新建筑就行了。又是增加N個表。。建筑基礎表:產(chǎn)出,類型,圖片等等。。建筑詳細表:屬于哪個城市,可以在城市表里關聯(lián)。關聯(lián)的方式不同會對程序有很大的影響。各種關聯(lián)方式都行,但是一旦關聯(lián)方式確定后,最好別改動?,F(xiàn)在建筑也有了。用類似的定時方式,打工,征兵等等都可以實現(xiàn)。戰(zhàn)斗,兵的參數(shù):兵種,數(shù)量,攻擊,防御等等。戰(zhàn)斗的臨時表:誰的兵,打誰,出發(fā)時間,戰(zhàn)斗時間,戰(zhàn)斗結果。這里的幾個字到是簡單。實際的表會復雜一些。webgame中,戰(zhàn)斗的過程分兩種,一種是給出雙方參數(shù),時間到,就根據(jù)公式計算結果。一種是半即時或者即時的戰(zhàn)斗,可以邊打邊喝藥邊用技能的那種。第一種流程。點出兵。這時候,兵的參數(shù),出發(fā)時間,到達時間,都記錄進戰(zhàn)斗臨時表。定時器中,處理戰(zhàn)斗的部分,判斷時間是否到開打的時候。到開打的時間了,則取得被攻擊方的兵的參數(shù)。然后通過幾個公式計算結果。處理結果,比如誰的兵掛了多少,戰(zhàn)場掉落了多少錢,城市被誰搶到了。一大堆判斷以及updata。(這里的定時器處理和獲得資源的定時器處理是很類似的。)最后把結果分別發(fā)給雙方。(又涉及到一個短信息系統(tǒng)。)第二種流程。點攻擊。馬上就處理數(shù)據(jù)。打打npc好做。玩家之間對戰(zhàn),也可以把被攻擊的玩家當成npc來處理。兩個人或兩人以上即時戰(zhàn)斗。需要用到ajax了。目前在技術上和理論上是沒問題的,還沒實際寫代碼,所以不好講。很簡單的公式,兩種戰(zhàn)斗都可以用到:intval(sqrt($User_B_AP)-sqrt($User_A_DP));根號下攻擊-根號下防御=傷害。