HTML5实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HTML5实验报告
1441904232 谢凯
1.实验目的:
通过分析基于青瓷引擎制作的小游戏《神奇的六边形》的制作文档,认识青瓷引擎的特点,以进一步了解HTML5编程。
2.实验内容:
介绍《神奇的六边形》的动画表现部分。
算法部分包括方块飞入,方块消除和分数增加等
实验选取方块飞入为例。
(1)双击Assets/prefab/Shape.bin,编辑预制
(2)选中Shape节点,添加TweenPosition组件,属性设置如下:
动画曲线设置了个“回弹”效果,from和to的值将在代码中动态设置
(3)保存预置
(4)打开Scripts/ui/Pool.js,添加flyIn接口,处理飞入动画的播放
代码如下:
/**
* 播放飞入的动画
*/
Pool.prototype.flyIn = function(index) {
var self = this, o = self.gameObject, children = o.children;
var offset = o.width * (0.5 - 0.165);
// 先确保位置都正确
self.resize();
if (index === 0) {
var o = children[0], c = o.getScript('qc.tetris.ShapeUI');
c.flyIn(offset);
}
if (index === 0 || index === 1) {
var o = children[1], c = o.getScript('qc.tetris.ShapeUI');
c.flyIn(offset);
}
var o = children[2], c = o.getScript('qc.tetris.ShapeUI');
c.flyIn(offset);
};
(5)打开Scripts/ui/ShapeUI.js,添加flyIn接口,处理单个形状飞入动画代码如下:
/**
* 飞入动画
*/
ShapeUI.prototype.flyIn = function(offset) {
var self = this,
tp = self.getScript('qc.TweenPosition');
tp.delay = 0.5;
tp.to = new qc.Point(self.gameObject.x, self.gameObject.y);
tp.from = new qc.Point(tp.to.x + offset, tp.to.y);
tp.resetToBeginning();
tp.playForward();
};
3.实验效果:
代码实现效果如下图所示:
可见右侧方块飞入新的方块。
4.实验体会: