SarEngine2D

Document

SarEngine2D

SarEngine2D

基于HTML5 Canvas的2D游戏引擎,可进行图像渲染、物理模拟、音频播放和用户交互等。

Classes

Align
枚举对齐的位置。
Arc
可渲染的圆弧。
ArrayList
魔改的数组,增添了一些原生JS不具有的成员函数。
Audio
可播放的音频。
AudioTrack
独立的音轨。
Background
作为场景的渲染背景,可以静态,或者以较低的速度随摄像机移动以形成距离层次感。
Camera
摄像机,用于捕获场景内一定范围内的图像并渲染到指定的输出接口。一个场景内至少应该有一个摄像机。
Circle
可以渲染,也可作为物理碰撞模型的圆。
CollideGroup
碰撞组,用于区分碰撞模拟的一些对象,处于同一个组内的对象之间不计算碰撞,处于不同碰撞组的对象之间相互计算碰撞。
Colliders
包含各种碰撞模型。
Color
通过RGBA定义的颜色,可以与CSS的颜色表示语句相互转换。
Combination
将多个可渲染对象组合成一个可渲染对象。
Coordinate
坐标系,用于描述位置和向量的参照。
Device
获取用户用于交互的输入设备,包含鼠标、键盘和触摸屏。
Font
描述文字的样式,包含字体、字号等。
FontStyle
文字样式枚举。
FontVariant
用于设置小型大写字母的字体显示文本。
FontWeight
字体粗细程度。
Force
力,一个二维矢量。
GameObject
游戏对象,游戏中的最基础元素,可为其设置图像和碰撞模型。
Graphics
图像绘制接口,封装自Canvas的CanvasRenderingContext2D。
Ground
地面碰撞模型,在横版游戏中作为地面,通过轴x的范围和y轴的高度定义,任何具有刚体特性的碰撞体都不能穿过地面到达地面高度一下的位置。
GUI
图形界面,用于呈现数据、信息,也作为一些交互性控件的容器。
Image
可渲染的图像,封装自HTML Image对象。
ImageAnimation
可渲染的贴图动画,将一张图片上面平铺的一系列动画帧渲染为动画。
Keyboard
键盘,可获取用户键盘的各个按键的状态。
KeyEventArgs
键盘事件参数。
Layer
图层,在图像渲染时用于区分对象的视觉层次,在多图层输出接口中将渲染到具有不同z-index的Canvas上。
Line
通过两个端点来描述的一条可渲染的直线段。
LinkList
链表。
Matrix
矩阵,用于矩阵数学运算,通过二维数组或指定行列数初始化。
Mouse
鼠标,可获取用户鼠标按键和滚轮的状态。
MouseEventArgs
鼠标事件参数。
OneWayGround
可单向通过的地面碰撞模型,在横版游戏中可作为一定高度的地面,通过x轴的范围和y轴高度定义,任何具有刚体特性的碰撞体只能从一个方向通过。
Output
图像和音频的输出接口,基于一个canvas对象或者任意的一个HTML元素,后者将在该元素内创建若干个重叠的Canvas元素进行多图层的渲染。
Particle
不具有体积的粒子碰撞模型,以运动径迹作为碰撞计算体,作为高速运动的物体的碰撞模型时具有较高的可靠性和精度。
Path
通过锚点描述的三次贝塞尔曲线,可渲染。
Point
一个x,y数对,用于描述二维坐标系中的点的位置。
Polygon
通过一系定点和边描述一个多边形,可渲染,可作为碰撞模型,在SarEngine的RCollide分支版本中,可以进行平动+转动碰撞模拟,但稳定性很糟糕。
Position
一个x,y数对,用于描述二维坐标中的对象的位置,可以侦听其值的改变。
Rectangle
通过长和宽定义的矩形,可渲染,可作为碰撞模型。
SarEngine
引擎。
Scene
场景,是承载各种游戏对象和相互作用的一个空间,具有一个主坐标系,并且可以通过设置图层在场景中使用不同的坐标系。
Text
可渲染的文字对象。
TextAlign
表示文字对齐方式的枚举。
TextBaseline
表示文字基线。
Thickness
用于描述与上下左右的距离
Touch
表示用户在触摸屏上的触点的状态。
TouchEventArgs
触摸事件参数
Vector2
一个x,y数对,描述一个二维向量。
Wall
在横版游戏中可作为阻挡水平方向移动的物体的墙。