2016-05-24 13 views
0

Ich versuche, MovieClips von Animate CC 2015 über externe javaScript-Datei durch die Leinwand zugreifen. (Ich weiche jQuery für Einschränkungen der Dateigröße aus). Alle Clips Instanznamen haben, in der Vergangenheit hatte ich keine Probleme mit jQuery und Syntax:Wie bekomme ich das Canvas-Element ohne jquery von Animate CC 2015

theStage.$("btnTC").show();

Mit der neuen AnimateCC JS Ausgabedatei kann ich nur die Leinwand zugreifen, aber nicht die nachfolgenden/Kind Videoclips:

var theStage = document.getElementById("canvas"); 
 
console.log(theStage); 
 

 

 

 
//Snippet below from JS file generated from Animate CC 
 

 

 
(function (lib, img, cjs, ss) { 
 

 
var p; // shortcut to reference prototypes 
 

 
// library properties: 
 
lib.properties = { 
 
\t width: 300, 
 
\t height: 250, 
 
\t fps: 30, 
 
\t color: "#FFFFFF", 
 
\t manifest: [ 
 
\t \t {src:"images/spriteSheet.png?1464063736640", id:"spriteSheet"} 
 
\t ] 
 
}; 
 

 

 

 
// symbols: 
 

 

 

 
(lib.spriteSheet = function() { 
 
\t this.initialize(img.spriteSheet); 
 
}).prototype = p = new cjs.Bitmap(); 
 
p.nominalBounds = new cjs.Rectangle(0,0,400,800); 
 

 

 
(lib.keyline = function(mode,startPosition,loop) { 
 
\t this.initialize(mode,startPosition,loop,{}); 
 

 
\t // Layer 1 
 
\t this.shape = new cjs.Shape(); 
 
\t this.shape.graphics.f().s("#000000").ss(1,0,0,1,true).p("A3RTYMAAAgmvMAujAAAMAAAAmvg"); 
 
\t this.shape.setTransform(149,124); 
 

 
\t this.timeline.addTween(cjs.Tween.get(this.shape).wait(1)); 
 

 
}).prototype = p = new cjs.MovieClip(); 
 
p.nominalBounds = new cjs.Rectangle(-1,-1,300,250);
<script> 
 
var canvas, stage, exportRoot; 
 
</script> 
 
<!-- DoubleClick studio.Enabler --> 
 
<script> 
 
if (!Enabler.isInitialized()) { 
 
    Enabler.addEventListener(
 
    studio.events.StudioEvent.INIT, 
 
    enablerInitialized); 
 
} else { 
 
    enablerInitialized(); 
 
} 
 
function enablerInitialized() { 
 
    // Enabler initialized. 
 
    if (!Enabler.isVisible()) { 
 
    Enabler.addEventListener(
 
     studio.events.StudioEvent.VISIBLE, 
 
     adVisible); 
 
    } else { 
 
    adVisible(); 
 
    } 
 
} 
 
function adVisible() { 
 
    // Ad visible, start ad/animation. 
 
     
 
\t canvas = document.getElementById("canvas"); 
 
\t images = images||{}; 
 

 
\t var loader = new createjs.LoadQueue(false); 
 
\t loader.addEventListener("fileload", handleFileLoad); 
 
\t loader.addEventListener("complete", handleComplete); 
 
\t loader.loadManifest(lib.properties.manifest); 
 
} 
 

 
function handleFileLoad(evt) { 
 
\t if (evt.item.type == "image") { images[evt.item.id] = evt.result; } 
 
} 
 

 
function handleComplete(evt) { 
 
\t exportRoot = new lib.GSAP_banner_001(); 
 

 
\t stage = new createjs.Stage(canvas); 
 
\t stage.addChild(exportRoot); 
 
\t stage.update(); 
 
\t stage.enableMouseOver(); 
 

 
\t createjs.Ticker.setFPS(lib.properties.fps); 
 
\t createjs.Ticker.addEventListener("tick", stage); 
 
} 
 
</script> 
 
<!-- write your code here --> 
 
</head> 
 
<body style="background-color:#D4D4D4;margin:0px;"> 
 
\t <canvas id="canvas" width="300" height="250" style="background-color:#FFFFFF"></canvas> 
 
\t <noscript> 
 
     <img src="GSAP_banner_001_300x250.gif" alt="Coles Credit Cards" width="300" height="250"/> 
 
    </noscript> 
 
</body> 
 
</html>

+0

Sie werden ein entsprechenden HTML-Stummel bieten müssen für uns in der Lage sein, Hilfe. – Nosh

+0

Animate CC verwendet createJS. Ich habe getChildByName ohne Erfolg versucht.
'var clip = stage.getChildByName ('Karte');' – ulittle

Antwort

1

Um den Zugriff von Videoclips Animate CC 2015 über externen javaScript verwenden Sie den folgenden:

<!-- variables inside HTML document - generated by default on canvas publish --> 
<script> var canvas, stage, exportRoot;</script> 

-Code von externer JS-Datei:

var myClip = exportRoot.circleMC; //Movie Clip instance 'circleMC' from Animate CC. 
myClip.x = 100; //Access properties on your clip.