Ich versuche, ein Ereignis, das meine Formen Strichfarbe für 5 Sekunden ändert, wenn eine Schaltfläche geklickt wird, und dann die Form nach der Dauer auf die ursprüngliche Farbe zurückkehrt.Ändern Farbe der Form Mid Tween
Ich kann dies mit dem Löschen der gesamten Bühne und Neuzeichnen neuer Formen (die ihre Position zurückgesetzt), aber ich kann es nicht mit den aktuellen Formen herausfinden.
Q. Was ist die beste Möglichkeit, während eines Tweens eine Änderung an einer Formenfarbe vorzunehmen?
Ich war auch neugierig, ob es eine bessere Möglichkeit gibt, Tweening die Formenbreite zu behandeln? Momentan verlasse ich mich auf ScaleX und ScaleY - aber das ändert auch die Größe des Strichs - was nicht erwünscht ist.
HTML
<button id="change">Click to Change Color</button>
<canvas id="demoCanvas" width="500" height="500"></canvas>
JS
var stage,
circle;
function init() {
stage = new createjs.Stage("demoCanvas");
createjs.Ticker.setFPS(60);
createjs.Ticker.addEventListener("tick", stage);
}
function createCircle(){
circle = new createjs.Shape().set({name:"circle"});
circle.graphics.setStrokeStyle(1).beginStroke("#000").beginFill("#FFF").drawCircle(0, 0, 20);
circle.x = 100;
circle.y = 100;
stage.addChild(circle);
createjs.Tween.get(circle, {loop: true})
.to({x: 225, y: 225}, 1000, createjs.Ease.getPowInOut(1))
.to({x: 100, y: 100}, 1000, createjs.Ease.getPowInOut(1));
circle2 = new createjs.Shape().set({name:"circle"});
circle2.graphics.setStrokeStyle(1).beginStroke("#000").beginFill("#FFF").drawCircle(0, 0, 20);
circle2.x = 400;
circle2.y = 400;
stage.addChild(circle2);
createjs.Tween.get(circle2, {loop: true})
.to({scaleX: 2, scaleY: 2, x: 425, y: 125}, 1000, createjs.Ease.getPowInOut(1))
.to({scaleX: 1, scaleY: 1, x: 400, y: 400}, 1000, createjs.Ease.getPowInOut(1));
stage.update();
}
$("#change").click(function() {
// change color
});
$(document).ready(function() {
init();
createCircle();
});
Ich schätze es, dass Sie sich die Zeit genommen haben, all dies zu schreiben, und wenn ich alles gelesen habe - es ergab Sinn. Als ich es jedoch ausprobierte, konnte ich nicht richtig funktionieren. Vielleicht vermisse ich hier etwas? Würde ich '.style' für Strich und Schatten von Formen auch verwenden? http://jsfiddle.net/m4qznqa6/9/ – DRB
Ah, ich sehe, dass ich es falsch referenzierte. Wenn die Form einen Schatten hätte, wäre das ein ähnlicher Prozess? Das einzige Problem, das ich habe, ist mit Strichen, die zweimal zeichnen (muss ich sie irgendwie löschen) und nicht sicher, wie man einen Tropfen-/Kastenschatten auf die gleiche Weise anwendet. http://jsfiddle.net/m4qznqa6/14/ – DRB