zoukankan      html  css  js  c++  java
  • Canvas 2D小游戏开发总结-1

    由于需要快速开发

    在拿到需求时,并没有时间去学习Cocos2d-JSEgretlufy legend这样的H5游戏引擎

    于是硬着头皮直接用js建模、响应用户、渲染画面

    在此要感谢这篇文章http://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/给我的启发

    然后我罗列一下开发过程中遇到的问题,以便更好地完善自己的游戏框架

    1.按钮问题dom vs canvas

    有时候有代码洁癖,会觉得用canvas做代码看起来干净

    实际上

    直接用常规dom里的按钮会比在canvas里写按钮快得多

    也有缺点就是要绑定场景...这个概念

    但是因为自带了onclick这样的事情,省去了你建模,写碰撞检测代码的时间

    2.思路总结

    按照之前Matt Hackett的思路

    小游戏开发简而言之就是对于每一帧,处理输入,处理,输出的过程

    然后这只是对应一个场景

    当需要频繁变化场景的时候,这个思路就需要扩充了

    两个思路:

    A.用一个flag来标记各场景,分别在input update render函数里根据这个flag路由

    B.我们抽象出场景对象的概念

      每个场景都有它的input/update/render的方法

      new一个场景,就重写它的三种方法

      就像演舞台剧一样,你是导演,可以随时喊cut or move on

      并且做好各个场景之间衔接工作

    强A干不过挂BT.T我选B

    于是我们因此需要抽象出“舞台”这个概念,也就是我们定义全局变量的地方

    3.场景的开发思路

    A.建模:分两块,obj模型和皮肤(图像,声音,当然偶尔可能会有视频)

    B.保存用户输入:这个有待商榷,其实可以在“舞台”保存所有剧本可能用到的用户操作,然后由导演来决定在哪些场景,演员要与观众互动,哪些场景可以“耍大牌”

    C.更新模型:处理事件更新模型,分为模型固有事件(比如人的生老病死)和用户事件(比如被人OOXX)

    D.绘图

    to be countinued...

  • 相关阅读:
    windows2012 永激活及配置
    Fiddler2 英文版翻译
    你知道using的用法吗?
    你会利用css写下拉列表框吗?
    完美解决.net2.0和.net4.0在同一个iis中共同运行
    深入剖析new override和virtual关键字
    思科防火墙,h3c三层交换机配置笔记
    c# 笔记 数据类型转换 数组 函数
    Silverlight 完美征程 笔记1 (控件模型)
    C#笔记(流程控制)
  • 原文地址:https://www.cnblogs.com/AlexNull/p/4786239.html
Copyright © 2011-2022 走看看