intercorni
Erfahrenes Mitglied
Hallo,
ich verwende zum Tweening oder Fading eines Textfeldes ein Scripting.
Das Scripting fadet bei mir ein Textfeld ein und aktiviert einen Timer, der wiederum nach Ablauf einer bestimmten Zeit das Textfeld wieder ausblendet.
Funktioniert soweit sehr gut:
Nun möchte ich, dass erst nach dem vollständigen ausfaden eine Aktion, z.B. ein gotoAndStop, ausgelöst wird.
Hier müsste also eine Abfrage rein in der Art: wenn _alpha = 0 dann gotoAndStop usw, oder?
Wie genau müsste denn diese Abfrage aussehen?
Danke,
Cornel
ich verwende zum Tweening oder Fading eines Textfeldes ein Scripting.
Das Scripting fadet bei mir ein Textfeld ein und aktiviert einen Timer, der wiederum nach Ablauf einer bestimmten Zeit das Textfeld wieder ausblendet.
Funktioniert soweit sehr gut:
PHP:
stop();
//die tween und die easing klasse importieren
import mx.transitions.Tween;
import mx.transitions.easing.*;
//variable alpha tween
var my_txtAlphaTween:Tween;
//variablen x und y scale
var my_txtXScaleTween:Tween;
var my_txtYScaleTween:Tween;
//-------------------------------------
//textfeld erzeugen
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "Polo22K";
my_fmt.size = 80;
my_fmt.color = 0xFFFFFF;
my_fmt.align = "center";
this.createTextField("my_txt", this.getNextHighestDepth(), 40, 300, 700, 160);
my_txt.autoSize = "center";
my_txt.multiline = true;
my_txt.align = "center";
my_txt.wordWrap = true;
my_txt.border = false;
my_txt.embedFonts = true;
my_txt.text = "";
my_txt.setTextFormat(my_fmt);
my_txt._alpha = 100;
//textdefinition01
my_txt._alpha = "0"
my_txt.text = "Inhalt des Textfeldes";
my_txt.align = "center";
my_txt.setTextFormat(my_fmt);
//-------------------------------------
//tweening definition
function tweening01() {
my_txtXScaleTween.stop();
my_txtYScaleTween.stop();
my_txtXScaleTween = new Tween(my_txt, "_alpha", Strong.easeOut, my_txt._alpha, my_txt._alpha + 100, 3, true);
my_txtYScaleTween = new Tween(my_txt, "_x", Strong.easeOut, my_txt._x, my_txt._x + 100, 3, true);
my_txtXScaleTween.onMotionFinished = function() {
trace("my_txtXScaleTween fertig");
}
my_txtYScaleTween.onMotionFinished = function() {
daPause(30, timerwert01);//timer aufrufen
trace("my_txtYScaleTween fertig");
}
}
//timer
var intervals = new Array();
function daPause(wait, arg) {
wait == undefined ? wait=10 : null;
var p_count = 0;
var p_int = setInterval(function () {
if (p_count>=wait) {
for (var i in intervals) {
if (p_int == intervals[i]) {
intervals.splice(parseInt(i, 10), 1);
break;
}
}
arg();
clearInterval(p_int);
}
p_count++;
}, 100);
intervals.push(p_int);
}
function clearAll() {
for (var i in intervals) {
var f = parseInt(intervals[i], 10);
clearInterval(f);
}
intervals = new Array();
}
//timer definition
function timerwert01() {
trace("timer");
my_txtXScaleTween = new Tween(my_txt, "_alpha", Strong.easeOut, my_txt._alpha, my_txt._alpha - 100, 3, true);//Fadet Textfeld wieder aus
my_txtYScaleTween = new Tween(my_txt, "_x", Strong.easeOut, my_txt._x, my_txt._x + 100, 3, true);
}
//tweening aufruf
tweening01()
Hier müsste also eine Abfrage rein in der Art: wenn _alpha = 0 dann gotoAndStop usw, oder?
PHP:
function timerwert01() {
trace("timer");
my_txtXScaleTween = new Tween(my_txt, "_alpha", Strong.easeOut, my_txt._alpha, my_txt._alpha - 100, 3, true);
my_txtYScaleTween = new Tween(my_txt, "_x", Strong.easeOut, my_txt._x, my_txt._x + 100, 3, true);
textcontent_mc.nextFrame();
}
Danke,
Cornel