javascript课程设计打地鼠(打地鼠游戏编程)

http://www.itjxue.com  2023-02-13 14:19  来源:未知  点击次数: 

自学cocos2d js游戏开发应该按什么步骤进行

跟你简要说一下我的自学路,以免你走弯路

背景:

有工作,而且很忙;在不影响工作基础上用业余时间鼓捣(经常会因为工作耽搁学习进度);基本没技术背景(初中qbasic、高中pascal半吊子),大学文科,工作也不是搞代码。因此我感觉我的自学路跟你还是挺契合的。

1

两年前的一天,决定要做独立游戏制作人。选定引擎cocos2d,开始学习objective-c语言;(如果你打算只在iOS平台开发可以学obj-c配合cocos2d或者sprite kit;如果打算跨平台就要用cocos2d-x和c++了;当然unity什么的也不错但是我还没尝试过,一直很向往)

2

我跳过了iOS程序开发(似懂非懂看完了斯坦福那一系列的教学视频),结合当时情况直接选择了cocos2d引擎,这时开始接触 @吴一刀 推荐的博客;我主要看的是子龙山人子龙山人 - 博客园、Ray WenderlichRay Wenderlich、Himi黑米GameDev街区这些博客里最基本的例子,知易那个以我当时的水平还看不懂。

3

尝试开始设计自己的简单游戏,我做打地鼠!当然比教学例子里的打地鼠复杂多了

4

这个过程中发现自己懂的实在是不够,所以又开啃这本书:Learn cocos2d 2 by Steffen Itterheim Andreas Low

5

慢慢的发现需要一些趁手的工具和编辑器,并发展出一套自己构建于cocos2d之上的游戏设计架构。我目前的情况是这样:

关卡编辑我使用plist文件配合自己写的类;

sprite sheet使用TexturePackerTexturePacker;

动画/UI编辑最初自己手写太累,后来选择了cocosbuilder,请注意现在这个软件已经停止维护,转而引导用户使用SpriteBuilderSpriteBuilder(域名都做了自动跳转;SpriteBuilder我木有研究过,建议你研究一下)。

粒子编辑我自己还没实际用到,如果真正需要我感觉cocosbuilder的够我用的。//更新:后来用到了ParticleDesigner和cocosbuilder两个软件的粒子编辑混搭

我当时遇到的一个大麻烦是如何让cocosbuilder、cocos2d版本互相兼容且cocosbuilder无问题。大概情况是这样:cocosbuilder2.1和cocos2d-iphone2.0及2.1版本都不协调怎么办?;What version of Cocosbuilder and Cocos2d-iphone should I choose?

目前我使用的cocosbuilder 2.1版本(渐变层有bug、并且很可惜动画播放完没有触发消息的机制,我只好把每个动画时长都手动记录一下自己处理)

======3月12日更新======

在 @GarfieldKwong 指点下发现这个版本动画播放完是可以触发消息机制的,更高级版本3.x支持的效果应该是在动画中就加入callback的关键帧

新技能get√

具体代码可见下面学习案例的第一个例子里Explosion部分

=====================

cocosbuider的学习可以看两个例子Creating a Game with CocosBuilder;Introduction to CocosBuilder;然后就是多用多尝试。

6

整个学习过程要学会查资料、学会寻求帮助,我主要用的stackoverflow(话说刚刚发现stackoverflow的reputation喜过15,终于可以投票了:)

在学习过程中得到了子龙山人(我认为本尊是这位 @屈光辉 )、LearnCocos2d作者Steffen、 @kubisoft 以及众多网上朋友的帮助,再次表示感谢。

7

硬件及开发者资格:看完c++开始看obj-c,这个过程一直是使用的vmware虚拟机安装的mac系统写程序;然后入手一个最便宜的mac pro、以及iPhone,尝试玩各种游戏;从看c++开始大约过了1年半(已经有非常简陋的游戏demo)才真正购入iOS开发者资格并开始真机测试。

8

尝试过的一些其他工具、各种弯路和坑、以及发散内容:

可以拖拽方式写代码的stencyl Stencyl: Make iPhone, iPad, Android Flash Games without code;

最初学的不是ojc-c而是谭浩强老师的c++程序设计(虽然有人不喜谭老师,但那书是中文的让我对面对对象程序设计有一些初步的概念,再看英文的obj-c不至于太摸不着头脑,反正手头正好有这么一本买了6年没看的c++。。。);

尝试过Tiled Map Editor但自己目前的坑没有用到;

尝试过一点物理引擎和粒子,但自己目前的坑没有用到;现在粒子用到了,做了火焰等效果,也挺美的;但是一定要注意CPU占用优化,内存方面我最低支持4S没遇到大问题

学习音乐制作,这个我小时候学琴一直也喜欢音乐所以有一点点底子,如果没有基础可能上手有门槛;开始用的软件LMMS,但是音源插件在64位系统的问题我一直没解决掉时间精力也不多,所以是暂时停滞了;最近发现Garage Band可能也可以写歌;另外还试过一个很有历史的微软的音乐自动编辑器,很好玩,用来做背景音乐也不错。

入手手绘板学画画(这中间纠结了好久才决定用位图不用矢量图),如果你能找到热爱游戏的美术同学一起搞那最好不过。但是我一直对画画心痒难搔。。。所以入了这个深坑,晒一晒:

转载

z

如何培养自己的编程兴趣

想要学好编程,前提的自己要对编程感兴趣,那么如何培养编程兴趣呢?

可以通过设计一些自己喜欢的小游戏或者小故事为主题,用编程语言来设计和实现。比如设计个切水果啊、打地鼠啊、刺激战场啊等等类似的小游戏,编程兴趣一定高涨。我知道一家很注重兴趣培养的编程机构,叫酷叮猫,可以去了解一下,亲属家小孩有在那学的,每次上课前,孩子都可期待了。

怎样用javaScript做打地鼠游戏

流程设计:

点击“开始游戏”按钮游戏开始,否则将提示“请点击开始游戏”字样

分数、命中率显示重置为“0”,倒计时开始(默认为30秒)

老鼠图片不断显示、隐藏,玩家可点击鼠标左键进行游戏

当30秒倒计时结束或者玩家主动点击“结束按钮”时,游戏结束并显示游戏结果

!doctype html

html

head

meta charset="utf-8"

title打地鼠/title

style type="text/css"

#content {

width:960px;

margin:0 auto;

text-align:center;

margin-top:40px;

}

#form1 {

margin:20px 0;

}

table {

margin:0 auto;

cursor:url(),auto;

}

td {

width:95px;

height:95px;

background:#00ff33;

}

/style

script type="text/javascript"

var td = new Array(),? //保存每个格子的地鼠

playing = false,? //游戏是否开始

score = 0, //分数

beat = 0, //鼠标点击次数

success = 0, //命中率

knock = 0, //鼠标点中老鼠图片的次数

countDown = 30, //倒计时

interId = null, //指定 setInterval()的变量

timeId = null; //指定 setTimeout()的变量

//游戏结束

function GameOver(){

timeStop();

playing = false;

clearMouse();

alert("游戏结束!\n 你获得的分数为:"+score+"\n 命中率为:"+success);

success = 0;

score = 0;

knock = 0;

beat = 0;

countDown = 30;

}

//显示当前倒计时所剩时间

function timeShow(){

document.form1.remtime.value = countDown;

if(countDown == 0){

GameOver();

return;

}else{

countDown = countDown-1;

timeId = setTimeout("timeShow()",1000);

}

}

//主动停止所有计时

function timeStop() {

clearInterval(interId);

clearTimeout(timeId);

}

//随机循环显示老鼠图片

function show(){

if(playing){

var current = Math.floor(Math.random()*25);

document.getElementById("td["+current+"]").innerHTML = 'img src=""';

setTimeout("document.getElementById('td["+current+"]').innerHtml=''",3000); //使用 setTimeout()实现3秒后隐藏老鼠图片

}

}

//清除所有老鼠图片

function clearMouse(){

for(var i=0;i25;i++){

document.getElementById("td["+i+"]").innerHTML="";

}

}

//点击事件函数,判断是否点中老鼠

function hit(id){

if(playing == false){

alert("请点击开始游戏!");

return;

}else{

beat += 1;

if(document.getElementById("td["+id+"]").innerHTML != ""){

score += 1;

knock += 1;

success = knock/beat;

document.form1.success.value = success;

document.form1.score.value = score;

document.getElementById("td["+id+"]").innerHTML = "";

}else{

score += -1;

success = knock/beat;

document.form1.success.value = success;

document.form1.score.value = score;

}

}

}

//游戏开始

function GameStart(){

playing = true;

interId = setInterval("show()",1000);

document.form1.score.value = score;

document.form1.success.value = success;

timeShow();

}

/script

/head

body

div id="content"

input type="button" value="开始游戏" onclick="GameStart()" /

input type="button" value="结束游戏" onclick="GameOver()" /

form name="form1" id="form1"

label分数:/label

input type="text" name="score" size="5"

label命中率:/label

input type="text" name="success" size="10"

label倒计时:/label

input type="text" name="remtime" size="5"

/form

table

tr

td id="td[0]" onclick="hit(0)"/td

td id="td[1]" onclick="hit(1)"/td

td id="td[2]" onclick="hit(2)"/td

td id="td[3]" onclick="hit(3)"/td

td id="td[4]" onclick="hit(4)"/td

/tr

tr

td id="td[5]" onclick="hit(5)"/td

td id="td[6]" onclick="hit(6)"/td

td id="td[7]" onclick="hit(7)"/td

td id="td[8]" onclick="hit(8)"/td

td id="td[9]" onclick="hit(9)"/td

/tr

tr

td id="td[10]" onclick="hit(10)"/td

td id="td[11]" onclick="hit(11)"/td

td id="td[12]" onclick="hit(12)"/td

td id="td[13]" onclick="hit(13)"/td

td id="td[14]" onclick="hit(14)"/td

/tr

tr

td id="td[15]" onclick="hit(15)"/td

td id="td[16]" onclick="hit(16)"/td

td id="td[17]" onclick="hit(17)"/td

td id="td[18]" onclick="hit(18)"/td

td id="td[19]" onclick="hit(19)"/td

/tr

tr

td id="td[20]" onclick="hit(20)"/td

td id="td[21]" onclick="hit(21)"/td

td id="td[22]" onclick="hit(22)"/td

td id="td[23]" onclick="hit(23)"/td

td id="td[24]" onclick="hit(24)"/td

/tr

/table

/div

/body

/html

QQ三国JS.升级攻略.和赚钱 方法.

一,任务式

 1,任务每天都是要做的

(定军山、拼图、送物资、国令等)

 2,做了那些普通任务升级不会这么快

还需要

打地鼠

 我自己就是每天进三次

一般运气好就可以达到60个

别小看这些经验

每天60个很多经验的

 3,50级以上可以做任务200步

 4,15级以上每天可以刷一次七旗阵

 5,50级以上每天可以去3次完整的新副本,经验很多

二,吃经验丹

 目前市场流行的经验丹属于“人生果”

三,打怪

(没齐心用双倍)

 组队练级刷齐心无疑是最好的办法,我给你个组队职业的方案

 最好要一个仙术

然后其他4个是YY或是JS都行

 现在有新地图

这样升级打怪经验非常丰富,可以开上齐心和双倍练级,这是非常合算的事情!

新图怪物等级表:

 1、襄阳左上图~临江右上图(怪物等级30~48)

 2、临江左上图~江夏右上图(怪物等级48~56)

 3、江夏左下图~襄阳右上图(怪物等级56~86)

总结,珍惜平常的一点一滴的经验,再加上你的勤快,这样你的级数不知不觉就练上来了

希望对你有帮助!

网页制作都包括哪些技术?

1、活版印刷

一个成功的网站只有很少的字体是类似的款式,而不是使用的字体。最好的网站应该使用无衬线和无衬线字体,而不是两者的结合。

印刷术的网站也应该小心使用的字体,好的设计会加入一些类似的字体,而不是一个范围内型面。大多数浏览器都能识别特定数量的安全字体,这样设计主要是利用以避免并发症的发生。

2、代码质量

当创建一个网站,它是很好的做法,以符合标准。这包括代码中的错误,代码为更好的布局,以及确保你的ID和类的正确识别。这通常是通过描述指定元件做什么。

不符合标准的网站无法使用或容易出错的,标准可以涉及到正确的页面布局的可读性,以及确保适当地关闭了编码元素。DOCTYPE声明,这是用来突出显示代码中的错误。系统识别错误和不符合网页设计标准。

3、视觉设计

良好的视觉设计网站上的标识,其目标市场。这可以是一个年龄组或特定的文化链,因此,设计人员应了解其受众的趋势。设计人员也应该明白他们设计的,这意味着一个企业网站不应该被设计成一个社交媒体网站,例如相同类型的网站。

4、交互设计

对于网站来说,好的交互设计对网页设计的整体起着至关重要的作用,一个好的交互不仅能大大提升页面整体的设计效果,增强页面的“活跃度”,还能有效提高用户体验,“屏蔽”单调的操作流程,使得产品、文化的表现都能最大化的呈现并传达到相关的受众。

5、内容更新

企业Web站点建立后,要不断更新网页内容。站点信息的不断更新,让浏览者了解企业的发展动态和网上职务等,同时也会帮助企业建立良好的形象。

参考资料来源:百度百科-网页设计

(责任编辑:IT教学网)

更多

推荐CGI/Perl教程文章