javascript课程设计打地鼠(打地鼠游戏编程)
自学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站点建立后,要不断更新网页内容。站点信息的不断更新,让浏览者了解企业的发展动态和网上职务等,同时也会帮助企业建立良好的形象。
参考资料来源:百度百科-网页设计