搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
HTML5移动游戏开发高级编程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302356318
  • 作      者:
    (美)Pascal Rettig著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2014
收藏
作者简介
  Pascal Rettig,经营着网络咨洵公司Cykod;Cykod成立于2006年,总部设在波士顿,主营业务是在线交互应用。Pascal也是GamesForLanguage的CTO,他组织成立了波士顿HTML5游戏开发研讨会,同时担任UXMagazine游戏版块的特约编辑。
  PascalRettig在孩童时代就迷恋上编程,开始编程时只有7岁,那时的他已经可以在AppleII上编写BASIC游戏了。Pascal拥有麻省理工学院(MassachusettsInstituteofTechnology)的理学土学位,并在2002年获得了麻省理工学院计算机科学和电子工程方面的工程硕士学位。自1995年以来,他一直在研究和开发各种web技术。2011年,Pascal构建了基于HTML5游戏的语言学习系统GamesForLanguage.com,他目前是交互式网络公司Cykod的合伙人。在波士顿,他每月组织一次HTML5游戏开发研讨会,这是美国国内历史最悠久的HTML5GameDevelopment月度研讨会之一;与此同时,他还管理着HTML5GameDevelopment社区的新闻网站html5gamedevelopment.org。
展开
内容介绍
  HTML5移动游戏开发目前还是一项新技术,人们还不知道该如何看待这一技术,这很像是2008年时的智能手机游戏,苹果公司的应用商店(AppStore)就是在这一年推出的。不过,一些重量级的组织已经加入进来,力保HTML5游戏取得成功。其中Facebook在2012年5月推出了它的应用中心(AppCenter),把基于HTML5的Web应用变成了移动设备上的一等公民,它正在研究一些移动设备上的货币化手段,以求不再受制于苹果公司这种从其应用商店的应用内购买中抽取30%手续费的做法。类似地,诸如AT&T一类的运营商也把Web应用看成一种从Google和苹果公司那里夺回失去收入的一种手段。HTML5移动游戏开发目前还是一项新技术,人们还不知道该如何看待这一技术,这很像是2008年时的智能手机游戏,苹果公司的应用商店(AppStore)就是在这一年推出的。不过,一些重量级的组织已经加入进来,力保HTML5游戏取得成功。其中Facebook在2012年5月推出了它的应用中心(AppCenter),把基于HTML5的Web应用变成了移动设备上的一等公民,它正在研究一些移动设备上的货币化手段,以求不再受制于苹果公司这种从其应用商店的应用内购买中抽取30%手续费的做法。类似地,诸如AT&T一类的运营商也把Web应用看成一种从Google和苹果公司那里夺回失去收入的一种手段。
展开
精彩书摘
  1.5,2利用鸭子类型
  有一个很著名的说法是这样的:若它走起来像一只鸭子,叫起来像一只鸭子,那么它一定是一只鸭子。在使用强类型的语言编程时,毫无疑问它是一只鸭子——它必须是Duck类的一个实例;或者,若使用Java编程,就要实现iDuck接口。
  而在.IavaScript这一动态类型语言中,参数和引用是不做类型检查的,这意味着可把任何类型的对象当作参数传递给任何函数,该函数乐意把该对象当成其所期待的任何对象类型对待,直至有问题出现。
  这种灵活性既是好事也是坏事,如果最终出现一些神秘莫测的错误消息或在运行时发生错误,这是坏事;在借助这一灵活性来保持浅继承树但又能够共享代码时,这是好事。这种基于对象的外部接口(而非它们的类型)来使用对象的概念称为鸭子类型(ducktyping)。
  AlienInvasion在游戏界面和精灵这两个地方用到了这一概念,该游戏把任何响应stepO和drawO方法调用的事物都当成游戏界面对象或有效的精灵对待。把鸭子类型用于游戏界面,这使得AlienInvasion能够把标题画面和游戏中的界面当成同样的对象类型看待,简化了关卡和标题画面之间的切换。同样,把鸭子类型用于精灵意味着游戏能够灵活决定往游戏面板中添加的内容,其中包括玩家、敌人、炮弹和HUD元素等。HUD是抬头显示设备(HeadUpDisplay)的简称,这个术语常指位于游戏屏幕上方的元素,如剩余的生命条数和玩家得分等。
  1.5.3创建三个基本对象
  该游戏需要用到三个几乎一直存在的基本对象:一个把所有东西捆绑在一起的Game对象,一个加载和绘制精灵的SpriteSheet对象,以及一个显示、更新精灵元素和处理精灵元素碰撞的GameBoard对象。该游戏还需要一大群不同的精灵,如玩家、敌方飞船、导弹及诸如得分和剩余生命条数一类的HUD对象等,稍后将介绍这些精灵。
  1.6加载精灵表
  你已经看到,大部分的代码都需要加载精灵表并在页面上显示精灵。现在剩下要做的就是把这些功能提取出来放入一个包中,功能的一个增强之处是加入精灵名称和位置的映射表,这能把在屏幕上绘制精灵变得更容易一些。第二个增强之处是封装onload回调功能,对任何调用类隐藏细节。
  ……
展开
目录
第Ⅰ部分HTML5潜力初探
第1章先飞后走,先难后易
1.1引言
1.2用500行代码构建一个完整游戏
1.2.1了解游戏
1.2.2结构化游戏
1.2.3最终实现的游戏
1.3添加HTML和CSS样板代码
1.4画布入门
1.4.1访问上下文
1.4.2在画布上绘制
1.4.3绘制图像
1.5创建游戏的结构
1.5.1构建面向对象的JavaScript
1.5.2利用鸭子类型
1.5.3创建三个基本对象
1.6加载精灵表
1.7创建Game对象
1.7.1实现Game对象
1.7.2重构游戏代码
1.8添加滚动背景
1.9插入标题画面
1.10添加主角
1.10.1创建PlayerShip对象
1.10.2处理用户输入
1.儿小结

第2章从玩具到游戏
2.1引言
2.2创建GameBoard对象
2.2.1了解GameBoard对象
2.2.2添加和删除对象
2.2.3遍历对象列表
2.2.4定义面板的方法
2.2.5处理碰撞
2.2.6将GameBoard添加到游戏中
2.3发射导弹
2.3.1添加炮弹精灵
2.3.2连接导弹和玩家
2.4添加敌方飞船
2.4.1计算敌方飞船的移动
2.4.2构造Enemy对象
2.4.3移动和绘制Enemy对象
2.4.4将敌方飞船添加到面板上
2.5重构精灵类
2.5.1创建一个通用的Sprite类
2.5.2重构PlayShip
2.5.3重构PlayerMissile
2.5.4重构Enemy
2.6处理碰撞-
2.6.1添加对象类型4l
2.6.2让导弹和敌方飞船碰撞
2.6.3让敌方飞船和玩家碰撞
2.6.4制造爆炸
2.7描述关卡
2.7.1设置敌方飞船
2.7.2设置关卡数据
2.7.3加载和结束一关游戏
2.7.4实现Level对象
2.8小结
……
第Ⅱ部分移动HTML5
第Ⅲ部分JavaScript游戏开发基础
第Ⅳ部分使用CSS3和SVG构建游戏
第Ⅴ部分HTML5画布
第Ⅵ部分多人游戏
第Ⅶ部分移动增强
第Ⅷ部分游戏引擎和应用商店
附录A资源

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证