Animation 如何沟通';外部';在Adobe Animate CC动画之间?
通过html页面中的脚本,我试图控制我创建的Adobe Animate CC动画中发生的事情。例如,在这里您将看到一个不起作用的脚本,它试图告诉飞船动画转到并播放(5)。无论如何,飞船动画并没有对此做出反应。我猜是因为我没有正确地给它命名。帮我谈谈我的动画。请参阅下面的代码Animation 如何沟通';外部';在Adobe Animate CC动画之间?,animation,canvas,adobe,communicate,Animation,Canvas,Adobe,Communicate,通过html页面中的脚本,我试图控制我创建的Adobe Animate CC动画中发生的事情。例如,在这里您将看到一个不起作用的脚本,它试图告诉飞船动画转到并播放(5)。无论如何,飞船动画并没有对此做出反应。我猜是因为我没有正确地给它命名。帮我谈谈我的动画。请参阅下面的代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Lets talk to each othe
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lets talk to each other</title>
<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>
function init () {
var canvas, stage, exportRoot;
canvas = document.getElementById("canvas_ship");
exportRoot = new libs_ship.ship();
stage = new createjs.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
createjs.Ticker.setFPS(libs_ship.properties.fps);
createjs.Ticker.addEventListener("tick", stage);
canvas = document.getElementById("canvas_car");
exportRoot = new libs_car.car();
stage = new createjs.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
createjs.Ticker.setFPS(libs_car.properties.fps);
createjs.Ticker.addEventListener("tick", stage);
}
function Tell_Canvas_Ship_to_gotoAndPlay5(){
canvas_ship.gotoAndPlay(5);
}
</script>
</head>
<body onload="init();" 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>
让我们互相谈谈
函数init(){
var画布、stage、exportRoot;
canvas=document.getElementById(“canvas_ship”);
exportRoot=new libs_ship.ship();
stage=newcreatejs.stage(画布);
stage.addChild(exportRoot);
stage.update();
createjs.Ticker.setFPS(libs_ship.properties.fps);
createjs.Ticker.addEventListener(“勾号”,阶段);
canvas=document.getElementById(“canvas_-car”);
exportRoot=new libs_car.car();
stage=newcreatejs.stage(画布);
stage.addChild(exportRoot);
stage.update();
createjs.Ticker.setFPS(libs_car.properties.fps);
createjs.Ticker.addEventListener(“勾号”,阶段);
}
函数Tell_Canvas_Ship_to_gotoAndPlay5(){
canvas_ship.gotoAndPlay(5);
}
看起来“canvas\u ship”是实际canvas元素的ID。我认为你要做的是控制你要添加的内容
如果是这样,您可以在exportRoot
上调用gotoAndPlay
,这是一个带有该API的MovieClip实例
exportRoot.gotoAndPlay(5);
但问题是,一旦您创建了canvas_ship阶段和内容,就会覆盖变量。我建议更改第二个画布、exportRoot和stage的名称
您还可以将这两个元素添加到一个画布中。除了使用从2个FLAs导出的内容外,您使用两个画布还有其他原因吗
var stage = new createjs.Stage("canvas_ship");
var ship = new libs_ship.ship();
var car = new libs_car.car();
stage.addChild(ship, car);
createjs.Ticker.addEventListener("tick", stage);
您的
Tell\u Canvas\u Ship\u to\u gotoAndPlay5
方法从何处调用?这是动画/Flash中的帧脚本吗?我收到了帮助,现在将与大家分享答案。不客气。找个时间请我过来吃早餐
在Adobe Animate中,您需要将库名称空间(我认为是在“高级”选项卡的“发布设置”中)更改为lib_jerry或任何自定义名称。。。只要它与其他动画不同。然后只需按照此代码中的设置进行操作。可以从动画中调用函数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Container</title>
<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
<script src="tommy.js"></script>
<script src="jerry.js"></script>
<script>
var canvas, stage, tomtom, jerjer;
function init() {
var exportRoot;
//Tommy
canvas = document.getElementById("canvas_tommy");
tomtom = new lib_tommy.tommy();
stage = new createjs.Stage(canvas);
stage.addChild(tomtom);
stage.update();
createjs.Ticker.setFPS(lib_tommy.properties.fps);
createjs.Ticker.addEventListener("tick", stage);
//Jerry
canvas = document.getElementById("canvas_jerry");
jerjer = new lib_jerry.jerry();
stage = new createjs.Stage(canvas);
stage.addChild(jerjer);
stage.update();
createjs.Ticker.setFPS(lib_jerry.properties.fps);
createjs.Ticker.addEventListener("tick", stage);
}
function button_from_tommy_was_clicked(){
tomtom.gotoAndPlay(5);
}
function button_from_jerry_was_clicked(){
jerjer.gotoAndPlay(5);
}
</script>
</head>
<body onload="init();" style="background-color:#D4D4D4;margin:0px;">
<canvas id="canvas_tommy" width="970" height="90" style="background-color:#727272"></canvas>
<canvas id="canvas_jerry" width="970" height="90" style="background-color:#727272"></canvas>
</body>
</html>
容器
var canvas,stage,tomtom,jerjer;
函数init(){
根的变种;
//汤米
canvas=document.getElementById(“canvas_”);
tomtom=new lib_tommy.tommy();
stage=newcreatejs.stage(画布);
舞台:阿迪奇尔德(汤姆);
stage.update();
createjs.Ticker.setFPS(lib_.properties.fps);
createjs.Ticker.addEventListener(“勾号”,阶段);
//杰里
canvas=document.getElementById(“canvas_”);
jerjer=新图书馆jerry.jerry();
stage=newcreatejs.stage(画布);
第二阶段:addChild(jerjer);
stage.update();
createjs.Ticker.setFPS(lib_jerry.properties.fps);
createjs.Ticker.addEventListener(“勾号”,阶段);
}
单击了来自\u的功能按钮\u tommy\u(){
tomtom.gotoAndPlay(5);
}
函数按钮\u从\u中单击了\u按钮(){
杰杰.哥多和普拉伊(5);
}
我想出来了,并在这里回答了:这实际上也回答了我的问题。谢谢你,兰尼!