HTML 5 2D 游戏开发:图形和动画

图形和动画是任何视频游戏最根本的方面,所以在本文中,我将从 Canvas2D API 的简要介绍开始,对 Snail Bait 的中央动画的实现进行讨论。在本文中,您将学习如何:

将图像和图形基元绘制到画布上

创建流畅的、无闪烁的动画

实现游戏循环

以帧数每秒为单位监视动画的速度

滚动游戏的背景

使用视差来模拟三维效果

实现基于时间的运动

本文中所讨论的代码的最终结果如图 1 所示:

图 1. 滚动背景并监视帧速率

开发:图形和动画-html5 2d游戏引擎">

背景和平台水平 滚动。这些平台在前景中,所以它们的移动明显快于背景,这样会形成一个温和的视差效果。在游戏开始时, 背景由右至左滚动。在结束某个级别时,背景和平台开始逆转方向。

在开发的这个阶段,跑步者不动 。此外,游戏还没有经过碰撞检测,所以当跑步者的下面没有平台时,她会漂浮在半空中。

最后,游 戏画布的上方和左侧的图标会显示剩余生命的数量(如 本系列第一篇文章中的图 1 所示)。目前,该游戏会 在这个位置上显示当前动画速度(以帧数每秒为单位)。

即时模式图形

Canvas 是一 个即时模式 图形系统,这意味着它会即时绘制您指定的内容,然后即时忘记。可伸缩矢量图形 (Scalable Vector Graphics, SVG) 等其他图形系统实现了保留模式 图形,这意味着它们会保存一个将要绘制的对象的 列表。由于不会因保存显示列表而产生开销,所以 Canvas 的速度比 SVG 更快一些;但是,如果您想保存一 个用户可以操作的对象列表,则必须自己在 Canvas 中实现该功能。

在继续后面的操作之前,您可能 想尝试创建一个这类游戏,因为它就在 图 1 里;如果您创建了这样的游戏,就会更容易理解相关的代码。( 请参阅 下载,获得本期的 Snail Bait 实现。)

HTML5 Canvas 概述

Canvas 2D 上下文提供了 一个广泛的图形 API,让您可以在平台视频游戏中实现文本编辑器中的一切。在我撰写这篇文章的时候,该 API 包含了超过 30 个方法,但 Snail Bait 只使用了其中的极少数,如表 1 所示:

表 1. Snail Bait 使用的 Canvas 2D 上下文方法

时间: 2024-12-29 20:47:47

HTML 5 2D 游戏开发:图形和动画的相关文章

HTML 5 2D 游戏开发:设置舞台

游戏开发的许多方面都和玩游戏没有关系.显示说明.暂停游戏.级别之间的过渡和滚动游戏分数,这些 都是游戏开发人员必须在游戏本身以外实现的一些特性. 当游戏的灵感来临时,这些灵感中通常不包 括显示高分数或级别之间的过渡的巧妙方式,开发人员会很自然地深入研究如何实现游戏机制,但对于游戏的 基础架构却没有太多的想法.但在大多数项目中,如果想在开发后添加功能,所需的工作量比从一开始就添加 功能要大得多. 在本系列的 上一期文章 中,我讨论了图形和动画,这些是 Snail Bait 游戏的基础 内容.在本文

《iOS和tvOS 2D游戏开发教程》——第2章,第2.1节Sprite Kit游戏循环

第2章 手动移动iOS和tvOS 2D游戏开发教程Ray Wenderlich撰写 如果你完成了第1章的挑战,现在屏幕上已经有一个较大一些的僵尸了,如图2-1所示. 图2-1 注意 如果没有能够完成挑战或者跳过了第1章,也不要担心,直接打开本章的初始工程,从第1章留下的地方继续进行.当然,你想要让精灵移动起来,而不只是站在那里,这个僵尸也渴望动起来. 在Sprite Kit中,要移动一个精灵,有两种方法: 1.在第1章中,你可能已经注意到了(如果看一下Apple所提供的模板代码的话),可以使用一

《iOS和tvOS 2D游戏开发教程》——第1章,第1.1节开始

第1章 精灵 iOS和tvOS 2D游戏开发教程 Ray Wenderlich撰写 既然你已经知道了什么是Sprite Kit以及为什么要使用它,现在我们来自己尝试一下.我们将要构建的第一款小游戏叫做Zombie Conga,其完成后的样子如图1-1所示. 图1-1 在Zombie Conga中,你负责扮演无忧无虑的.只是想参加舞会的僵尸.好在,僵尸所占据的海边小镇有足够多的小猫.你只需要咬住这些小猫,它们就会加入到僵尸的舞队中来. 不过要小心疯狂的猫女士!这些身穿红色的衣服的老太太,对于想要偷

HTML5 2D游戏开发:将事物绘制到画布上并让其运动起来

您还将学习利用http://www.aliyun.com/zixun/aggregation/79228.html"> HTML5 实现动画的最佳方式,如何滚动背景,以及如何实现视差,从而模拟三维效果. 图形和动画是任何视频游戏最根本的方面,所以在本文中,我将从 Canvas2D API 的简要介绍开始,对 Snail Bait 的中央动画的实现进行讨论.在本文中,您将学习如何: 将图像和图形基元绘制到画布上 创建流畅的.无闪烁的动画 实现游戏循环 以帧数每秒为单位监视动画的速度 滚动游戏

HTML 5 2D 游戏开发:Sprites

和其他艺术形式(比如电影.戏剧和小说)一样,游戏也有一系列的人物,每个人物都扮演着特定的角色 .例如,Snail Bait 有跑步小人(游戏主角).硬币.红宝石.蓝宝石.蜜蜂.蝙蝠.纽扣和一个蜗牛,图 1 中展示了其中的大多数角色.在本系列的第 1 篇文章中(参阅 sprite:演员表 小节),已经介绍了这些 人物以及它们在游戏中的角色. 图 1. Snail Bait 的人物 开发:Sprites-html5 2d游戏引擎"> Snail Bait 中每个人物都是一 个 sprite.S

HTML 5 2D 游戏开发:Snail Bait 简介

软件开发的优势在于:在合理的范围内让任何您能想象到的事物在屏幕上变成现实.不像其他领域受一些 物理条件的束缚,软件开发人长期以来一直使用图形化 API 和 UI 工具包来实现富有创造性和引人注目的应 用程序.最富有创造性的软件开发大概是游戏编程:比起让游戏景愿变成现实,优秀的创意就可使您通过少许 努力便可获得更多的收益. 平台视频游戏(Platform video games) Donkey Kong.Mario Bros..Sonic the Hedgehog 和 Braid 是众所周知的畅销

【J2ME 2D 游戏开发系列】◣HIMI游戏开发启蒙教程◢JAVA零基础学习J2ME游戏开发全过程!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/j2me-2/774.html Himi从写博客的最早开始就是Android游戏开发相关的,其实那么很多童鞋也知道Himi是做Java-J2me/Kjava出身,所以不少童鞋还在问我是否可以写一些J2me的相关游戏开发博文.虽然j2me趋势随着Nokia的没落和Android的崛起已经慢慢被弱化掉,但是J2me也是早些年非常火的平台不是么!

CocosSharp —— C# 版本的 2D 游戏开发引擎

CocosSharp 是一个用 C# 来开发跨平台 2D 游戏的游戏开发包.如果你熟悉 Cocos2D 的话,那么你会很快上手 CocosSharp,API 的设计遵循 C# 和 .NET 规范.

《iOS和tvOS 2D游戏开发教程》——第1章,第1.2节显示精灵

1.2 显示精灵 在制作2D游戏的时候,通常要将表示游戏的各种要素的图像放置到屏幕上,如英雄.敌人.子弹等,如图1-18所示.这些图像中的每一个,都叫做精灵(sprite). 图1-18 Sprite Kit有一个叫做SKSpriteNode的特殊的类,它使得创建和使用精灵更为容易.我们就是使用这个类来为游戏添加所有的精灵的.让我们来尝试一下. 1.2.1 创建精灵 打开GameScene.swift,给didMoveToView()添加如下的一行,就放在设置了背景颜色之后: let backg