【发布时间】:2015-11-09 07:09:10
【问题描述】:
我正在尝试将多个 js 动画放在一个 html 页面上。我只用两个动画开始了我的测试。我想一旦我学会了如何实现两个,我就可以轻松实现十个。
我正在使用 Flash CC 发布 html5 画布动画(输出一个简单的 html 文件和一个 js 文件)。一种动画称为“船”,另一种称为“汽车”。就目前而言,只有“船”出现在屏幕上。
下面是我的代码。 (还有所有源文件的链接。)我不是 javascript/编码专家,但我是故障排除者/实验者。我已经重新定位代码,尝试重命名变量等。我很确定最大的问题是 createjs 变量。我看到页面上的其他任何地方都没有调用 createjs 变量......所以我猜它正在远程 js 脚本中使用?我已将 var createjs = createjs_car 注释掉,因为如果没有注释,则不会出现动画。
无论如何,我正在寻求帮助以使两个(或更多)动画在同一页面上运行。提前致谢!
想要源文件?点击这里: Click here
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Multiple Canvas Animations on One Page</title>
<script>
// change the default namespace for the CreateJS libraries:
var createjs_ship = createjs_ship||{};
var createjs = createjs_ship;
</script>
<!-- I've commented this out because if the commenting is removed, no animation shows up.
<script>
// change the default namespace for the CreateJS libraries:
var createjs_car = createjs_car||{};
var createjs = createjs_car;
</script>-->
<script src="http://code.createjs.com/easeljs-0.8.1.min.js"></script>
<script src="http://code.createjs.com/tweenjs-0.6.1.min.js"></script>
<script src="http://code.createjs.com/movieclip-0.8.1.min.js"></script>
<script src="ship.js"></script>
<script src="car.js"></script>
<script>
var canvas, stage, exportRoot;
function init_ship() {
canvas = document.getElementById("canvas_ship");
exportRoot = new libs_ship.ship();
stage = new createjs_ship.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
createjs_ship.Ticker.setFPS(libs_ship.properties.fps);
createjs_ship.Ticker.addEventListener("tick", stage);
}
function init_car() {
canvas = document.getElementById("canvas_car");
exportRoot = new libs_car.car();
stage = new createjs_car.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
createjs_car.Ticker.setFPS(libs_car.properties.fps);
createjs_car.Ticker.addEventListener("tick", stage);
}
</script>
</head>
<body onload="init_ship(); init_car();" style="background-color:#D4D4D4">
<canvas id="canvas_ship" width="300" height="250" style="background-color:#FFFFFF"></canvas>
<canvas id="canvas_car" width="300" height="250" style="background-color:#FFFFFF"></canvas>
</body>
</html>
【问题讨论】:
-
仅供参考,我看到 2 个平行的空白画布。您能否确认问题是在屏幕上显示 2 个画布还是 2 个动画?
标签: javascript html animation canvas