這個東西本來是無憂運行烽煙ol文章中的一部分,但因爲文檔不能下載了,所以在自己的博客重新發一次,還是以烽煙爲例,
一個大坑出現了,爲什麼呢?因爲我們沒有註冊用戶,如何註冊?客戶端裏貌似沒提供5555555555555555
沒辦法,都到這步了,沒什麼能阻止我們進入遊戲了,既然數據庫裏沒數據,我們寫數據進去就行了,看下數據庫文件
/*Table structure for table `tb_register` */
DROP TABLE IF EXISTS `tb_register`;
CREATE TABLE `tb_register` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶id',
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用戶名',
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用戶密碼',
`email` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '' COMMENT '用戶註冊郵箱',
`characterId` int(10) DEFAULT '0' COMMENT '用戶的角色ID',
`pid` int(11) DEFAULT '-1' COMMENT '邀請人的角色id',
`lastonline` datetime NOT NULL DEFAULT '2012-06-05 00:00:00' COMMENT '最後在線時間',
`logintimes` int(11) NOT NULL DEFAULT '0' COMMENT '登陸次數',
`enable` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否可以登錄',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1915 DEFAULT CHARSET=utf8;
/*Data for the table `tb_register` */
數據庫註冊信息sql語句是這樣的,我大致解釋一下,`id` int(11) NOT NULLAUTO_INCREMENT COMMENT '用戶id',這是用戶id並且設置了主鍵,不用我們寫入信息,會自動遞增
`username` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用戶名',
`password` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用戶密碼',
`email` varchar(255) CHARACTER SET utf8COLLATE utf8_bin DEFAULT '' COMMENT '用戶註冊郵箱',
這3個是要外部寫入了,NOT NULL說明不能爲空,是我們註冊時必須要做的,
後面的幾項都有DEFAULT這個條件,所以可以不寫(當然自己填的時候,要寫),知道這個結構了我們就沒什麼好猶豫的了,打開Mysqlnavigator
進去直接寫數吧,是不是有些過於簡單粗暴了?如果加個用戶就進去寫一次,當只有自己一個人玩的時候,當然沒什麼,但隨着註冊用戶增多,數據庫就會變得不可維護,因爲如果自己填寫東西的話,包括id,和DEFAULT這些都要填寫,但進入遊戲之後,DEFAULT這些數據其實是會被遊戲自動修改的,而且,如果不小心,會出現兩個相同用戶名的情況,截個圖給大家看
上面仔細看就會發現1931和1932兩個id的用戶名是一樣的,這是我在開發註冊系統的時候,開始沒有對數據庫做查詢判斷,出的錯誤,其實如果自己填寫數據庫表格,很容易出現這樣的錯誤,如果出了這樣的錯誤,那麼登陸游戲肯定會出問題,怎麼辦?自己動手豐衣足食是根本。當然有些同學沒搞過相關開發,於是乎,不用擔心,我寫好了給大家,好了不多說,過後我會把源碼放出來,大家如果有時間,完全可以用我提供的源碼來自己改寫一個服務器的數據庫維護工具,首先要先安裝服務器,我這裏用的是node.js,打開終端輸入
sudo apt-get install nodejs(問我爲什麼用nodejs,)【Node.js 是一個基於Chrome JavaScript 運行時建立的一個平臺,用來方便地搭建快速的,易於擴展的網絡應用· Node.js 藉助事件驅動,非阻塞I/O 模型變得輕量和高效,非常適合 run across distributeddevices 的 data-intensive 的實時應用·】以上是百度給的解釋,並不代表我的意見,跟寫nodejs相比,我更習慣於用php, 不過爲啥這裏用nodejs呢,因爲本來我這個ubuntu系統就是用來學習網易Pomelo這個開源項目的,所以nodejs本來就裝好的,不習慣的也先湊合用吧,過幾天有時間的話,我再寫個php的來充數。不過話說那樣還要裝Apache和php5,不廢話了(這廢話就夠多的了)好了註冊服務器啓動成功了,具體操作看圖就能明白,在fengyanolreg目錄下輸入node app
之後我們開瀏覽器,直接點立即註冊(當然上面那個註冊也一樣),
爲防止惡意註冊,註冊規則嚴格按照正常的網站註冊規則(可能比正常還要嚴一點,大小寫,位數,郵箱規則,特殊符號我都做了規定,胡亂寫的話比如用戶名寫成1test5557會如圖)
好了,我們按原來的信息註冊,用戶名test5557,密碼111111(本來密碼用MD5加密的,但客戶端代碼的MD5加密之後,發現兩邊數值不一樣,看來兩種語言還是差別不小,沒解決之前用明文吧),點註冊
註冊成功
前端,後臺都通過了註冊
好了,在註冊糾結了這麼久,進遊戲吧,回到遊戲客戶端登陸界面
是鍵入原來一樣的數據,登陸
進來了,選個喜歡的職業吧,很酷的人物選擇界面(CreateRoleFTViewMediator.as這裏實現的,等換皮的時候我們再討論),現在選人進遊戲,起名進遊戲,
好了這個東東就介紹到這裏,代碼下載地址,關於烽煙以及其他as3頁遊換皮的問題,我們以後在討論。