在HTML5画布模式下使用Adobe Animate CC和外部JavaScript文件

时间:2016-04-23 05:43:02

标签: flash createjs flash-cc animate-cc

我将大型FLA AS3项目转换为Canvas / JS。 我有一个AS文件的大型外部文件夹结构和许多与类关联的库对象。

我已将FLA转换为画布模式,但我无法找到将JS文件与对象关联的方法。 我已经看过有关在框架脚本中包含JS的在线示例,但我真的希望找到一种方法来处理外部文件和库对象关联。

我很欣赏任何方向或示例。

谢谢

3 个答案:

答案 0 :(得分:4)

我所做的是将所有JS实用程序从Animate中动态添加到html中D <- "fielda,fieldb\n1,2\n3,4" write(D, file = "data.csv") runApp( list( ui = fluidPage( headerPanel('Title'), sidebarPanel( textInput("fielda", label="fielda", value=""), textInput("fieldb", label="fieldb", value=""), actionButton("addButton", "insert data") ), mainPanel( tableOutput("table")) ), server = function(input, output) { data <- reactiveValues( file = read.csv("data.csv", header=TRUE, sep=",", quote="") ) addData <- observeEvent( input$addButton, { newLine <- data.frame(fielda = input$fielda, fieldb = input$fieldb) write.table(newLine, file = "data.csv", col.names = FALSE, row.names=FALSE, quote=FALSE, append = TRUE, sep = ",") data$file <- read.csv("data.csv", header=TRUE, sep=",", quote="") } ) output$table <- renderTable(data$file, include.rownames=FALSE) } ) ) ,如下所示:

框架脚本:

appenChild

从外部JS 访问舞台,如下所示:

function loadScript(url) {
    var body = document.getElementsByTagName('body')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    body.appendChild(script);
}

loadScript('assets/app/myUtilities.js');
loadScript('assets/libs/coolTool.js');
loadScript('etc..');

s = this; //to have access to the stage

我看到的是,遗憾的是,似乎无法在Animate中使用canvas动态地实现库中的对象,我认为最好的解决方案是在时间轴上准备您的视图。

另一方面,JS提供了许多功能(例如从代码中调用Bootstrap Dialog Modals)。

答案 1 :(得分:0)

我花了一些时间并设法更好地了解它是如何工作的,并创建了一个简单的示例,将Flash Actionscript项目与外部AS文件和面向对象的结构转换为具有类似文件结构的Animate CC Canvas和Javascript文件项目

您可以在https://github.com/xims/X-simple-flahtml

查看

答案 2 :(得分:0)

CreateJS 可以为您做到这一点(PreloadJS 库)。

var queue = new createjs.LoadQueue();
queue.loadManifest([
    "auxiliary.js",
    "main.js"
]);