热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请问如何从头开始学习制作一款HTML5小游戏?

请问如何从头开始学习制作一款HTML5小游戏?:本人没有任何编程语言的基础(大学选修课学过C和Jacascript,但都忘了,现在用业余时间学习HTML),希望能用HTML5制作一
本人没有任何编程语言的基础(大学选修课学过C和Jacascript,但都忘了,现在用业余时间学习HTML),希望能用HTML5制作一款小游戏。除了HTML5,我还需要学习什么呢?一个HTML5游戏的架构是怎样的呢?

回复内容:

先挖坑,回去填
----------------------------------------
先来看一下列一下自己的小游戏,每个游戏都是开源的哦,后面是github地址
  • 贪吃蛇:无标题文档(yanhaijing/snake · GitHub
  • 连连看:颜海镜连连看4.0beta版(yanhaijing/linklink · GitHub
  • 翻一下:颜海镜翻一下2.0beta版(yanhaijing/fan1xia · GitHub
  • 变色方块:变色方块 史上最难智力游戏(yanhaijing/inverter · GitHub
  • 看你有多色:看你有多色(GitHub - yanhaijing/color: 看你有多色

这是我做过的五个html5小游戏,由简单到难,时间由远倒近,其实H5小游戏非常简单的,根本连canvas都用不到,学点html,css和js就可以了,可以先从山寨别人的游戏开始

个人感觉贪吃蛇,连连看,俄罗斯方块这些都是非常不错的练手项目

我后续还有什么计划呢?准备开发2048,俄罗斯方块,。。。
-----------------------------------------
既然大家这么热情,我就在补充一些适合新手开发的HTML5小游戏:
  • 俄罗斯方块
  • 拼图
  • 打地鼠
  • 打字游戏(玩过很多金山的打字游戏)
还有最近在微信里比较获得一些简单的小游戏:
  • 一夜**次郎(我玩的是杜蕾斯那个,有很多变种的)
这些我都没做过,但个人感觉都比较简单,又挺有意思,如果你有其他建议欢迎反馈啊o(∩_∩)o 哈哈 除了HTML5,你还需要学习什么?

做HTML5游戏,并不需要学习全部的HTML5,先不谈用js修改css控制实现的游戏,一直对这方面不感冒,主流应该是使用canvas来做,2d和webgl,所以要做html5游戏,只需要学会:canvas,Javascript就可以了,至于其他的,跟游戏关系不是很大,略懂就可以了.
当然,如果要更深一步,worker,websocket,localStorage可以有更深的挖掘空间.

基于问题,你还需要学习什么:
Javascript的基础,高级使用,性能优化,定时器,主要时间是在跟js打交道.
游戏循环的处理逻辑,不管是自己造轮子还是用引擎,自己必须知道架构怎么去搭建和运作.
数学,尤其几何学,勾股定理的使用,线性代数的理解,2D的还好说,3D的矩阵运算.

另外,当前很多HTML5游戏都是想跑在微信平台里的,如果你也是这个打算,最好理解下微信的后台开发一些事情,如果自己不想做这方面的开发,找个做过微信后台的朋友问问大概的流程,知道自己在什么条件下可以拿到什么用户信息. 帮你查了下一些github比较受欢迎的HTML游戏,可以参考下~
gabrielecirulli/2048: A small clone of 1024...
mozilla/BrowserQuest: A HTML5/Javascript multiplayer game experiment
AlexNisnevich/untrusted
doublespeakgames/adarkroom
GitHub - ellisonleao/clumsy-bird: A MelonJS port of the famous Flappy Bird Game
Hextris/hextris: A fast paced puzzle game inspired by Tetris
Q42/0hh1 · GitHub 感谢邀请, 我来简单回答一下。
作HTML5小游戏应该分两个阶段,
游戏的策划 + 技术的实现

1. 如果你没有做过小游戏,最好的方法是去多玩, 先看你希望面向的平台是什么,如果是手机,那么市面上已经有不少HTML5的小游戏了,比如YOUXI.CN上的, 可以从最简单的益智游戏做起, 比如棋牌类。 因为控制比较简单, 你只要弄清楚逻辑就好。 相比技术实现,好的游戏策划更重要,因为这是游戏好玩的关键,需要不断的体验与学习。

2. 技术的实现,现在市面上有不少的游戏引擎了,也有HTML5的框架, 可以选择自己比较感兴趣的。国内的框架有flashlizi在他网站上公布的框架 riaidea.com/, 国外的有 impactjs等等。

小游戏国内国外也都有不少的教程,
比如贪食蛇的教程 aniruddhaloya.blogspot.com

打砖块游戏教程
blogs.msdn.com/b/eterna 十分钟教会你做一个朋友圈分享的小游戏:HTML5游戏入门 谢谢邀请。

我的HTML5经验其实比较业余,除了一些理论知识,动手的能力实际也不强,属于那种纸上谈兵型的。但是既然被邀请了,总要贡献点内容。对于写程序,我一直认为最好的学习方式是自己动手做。我以前看过一篇blog,讲如何用HTML5实现Breakout小游戏。基本上是step by step的一个walkthrough,很适合用来入门。我特地把它找了出来,贴在这里,希望有所帮助。blogs.msdn.com/b/eterna


另外,最近msdn上多了很多HTML5的内容,质量都不错,可以关注: social.msdn.microsoft.com

楼上所有的学习方法都过于复杂而且不容易上手。
记住,学习最快的办法永远都是“抄袭”。
只要上过大学的童鞋们肯定都清楚——考试前一天突击准备小条或者考试抄小抄的时候你会突然发现自己学东西的速度怎么突然变得这么快。所以精髓就是“抄”。

好好找一些非第三方平台制作的H5,比如什么画圆、测试类的、翻页展示类的,通过浏览器查看源代码然后把所有相关文件都下载下来,利用好浏览器的审查元素功能,先把别人做的H5抄下来。其实语法并不重要,你只要从头到尾把每个文件都读一遍,就很容易上手了。有什么问题记得随时百度,尤其是各种语法问题,w3school是非常好的帮手。

不要觉得抄是很丢人的事情,BAT哪家公司不是先抄过来别人的创意再在产品上进行迭代更新的?
迭代之后的产品属于你自己了。
欢迎加好友。 我个人认为的入门步骤如下:
1、HTML基础学习(常用标签)
2、CSS基础学习(能够简单的使用css进行页面样式的设置)
3、Javascript学习(一般语法、高级特性)
4、html5学习(主要就是canvas标签的各种接口)
5、最好还需要一定基本的颜色搭配、图片处理等方面的知识

找找一些游戏引擎里面一般都有demo,试着自己也写一个就好了:) 推荐 craftyjs
推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
author-avatar
婕小米
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有