Archief - (AS3/Flash)Child-objecten tweenen niet mee

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

VinceMañana

Legacy Member
Ik ben bezig met een soort van scheurkalender te maken in flash, en ik gebruik de Greensock TweenLite library voor een soort van scheureffect te maken.

Nu heb ik een Pagina object (wit papier zogezegd) met daarop een paar TextFields (dag, maand enz) toegevoegd als Child-elements. Als ik nu dat blad tween, dan tweenen dus de TextFields niet mee. Het vreemde is dat ze gewoon blijven staan.

Daarna heb ik een ander testblaadje gemaakt, en daar verdwenen de letters gewoon van. Ik denk dat het iets te maken heeft met het feit dat ik de andere bijhoud in een array.

Het is precies alsof die library alle kind elementen laat vallen, of op een of andere manier loskoppelt van hun container.

Anyway, hier wat code (ik gebruik maar 2 klassen):

Main:
Code:
package
{	
	import com.greensock.*;
	import com.greensock.easing.*;
	
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
	
	public class Main extends Sprite
	{
		public var paginas:Array = new Array();
		var timer:Timer = new Timer(2300, 28);
		var nummerTeller:int = 0;
		
		public function Main()
		{
			super();
			init();
			for each(var i:MovieClip in paginas)
			{
				i.x = 550;
				i.y = 200;
				this.addChild(i);
			}
			
			this.timer.addEventListener(TimerEvent.TIMER, volgendeDag);
			this.timer.start();
			
			var test:Pagina = new Pagina(0,"TestDag", "TestMaand");
			test.x = 100;
			test.y = 100;
			this.addChild(test);
			TweenLite.to(test, 1.2, {x:-348, y:163, rotation:75, ease:Back.easeIn});
		}
		
		public function init():void
		{
			paginas.push(new Pagina(30, "Vrijdag", "November"));
			paginas.push(new Pagina(1, "Zaterdag", "December"));
			paginas.push(new Pagina(2, "Zondag", "December"));
			paginas.push(new Pagina(3, "Maandag", "December"));
			paginas.push(new Pagina(4, "Dinsdag", "December"));
			paginas.push(new Pagina(5, "Woensdag", "December"));
			paginas.push(new Pagina(6, "Donderdag", "December"));
			paginas.push(new Pagina(7, "Vrijdag", "December"));
			paginas.push(new Pagina(8, "Zaterdag", "December"));
			paginas.push(new Pagina(9, "Zondag", "December"));
			paginas.push(new Pagina(10, "Maandag", "December"));
			paginas.push(new Pagina(11, "Dinsdag", "December"));
			paginas.push(new Pagina(12, "Woensdag", "December"));
			paginas.push(new Pagina(13, "Donderdag", "December"));
			paginas.push(new Pagina(14, "Vrijdag", "December"));
			paginas.push(new Pagina(15, "Zaterdag", "December"));
			paginas.push(new Pagina(16, "Zondag", "December"));
			paginas.push(new Pagina(17, "Maandag", "December"));
			paginas.push(new Pagina(18, "Dinsdag", "December"));
			paginas.push(new Pagina(19, "Woensdag", "December"));
			paginas.push(new Pagina(20, "Donderdag", "December"));
			paginas.push(new Pagina(21, "Vrijdag", "December"));
			paginas.push(new Pagina(22, "Zaterdag", "December"));
			paginas.push(new Pagina(23, "Zondag", "December"));
			paginas.push(new Pagina(24, "Maandag", "December"));
			paginas.push(new Pagina(25, "Dinsdag", "December"));
			paginas.push(new Pagina(26, "Woensdag", "December"));
			paginas.push(new Pagina(27, "Donderdag", "December"));
			paginas.push(new Pagina(28, "Vrijdag", "December"));
			paginas.reverse();
		}
		
		public function volgendeDag(e:TimerEvent):void
		{
			TweenLite.to(paginas[nummerTeller], 1.2, {x:-348, y:163, rotation:75, ease:Back.easeIn});
			
			
			for each(var i:Object in paginas[nummerTeller])
			{
				trace("test");
			}
			
			nummerTeller++;
		}
	}
}

en de Pagina klasse:

Code:
package
{
	import flash.display.MovieClip;
	import flash.text.TextField;
	import flash.text.TextFormat;
	
	public class Pagina extends MovieClip
	{
		public var dag:TextField;
		public var maand:TextField;
		public var nummer:TextField;
		
		public var opmaak:TextFormat = new TextFormat();
		public var nummerOpmaak:TextFormat = new TextFormat();
		
		public function Pagina(nummer:int, dag:String, maand:String)
		{
			super();
			
			this.opmaak.size = 92;
			this.opmaak.align = "center";
			
			this.nummerOpmaak.size = 300;
			this.nummerOpmaak.align = "center";
			
			this.dag = new TextField();
			this.maand = new TextField();
			this.nummer = new TextField();
			
			this.dag.x = 100;
			this.dag.y = 572;
			this.dag.width = 607;
			this.dag.height = 138;
			this.dag.defaultTextFormat = opmaak;
			
			this.maand.x = 92;
			this.maand.y = 52;
			this.maand.width = 643;
			this.maand.height = 95;
			this.maand.defaultTextFormat = opmaak;
						
			this.nummer.x = 230;
			this.nummer.y = 183;
			this.nummer.width = 358;
			this.nummer.height = 389;
			this.nummer.defaultTextFormat = nummerOpmaak;
			
			this.dag.text = dag;
			this.maand.text = maand;
			this.nummer.text = nummer.toString();
						
			this.addChild(this.dag);
			this.addChild(this.maand);
			this.addChild(this.nummer);
		}
	}
}

Het Font is ook al embedded, en als ik TextField.embedFonts = true; doe dan verdwijnt de tekst ook gewoon. Iemand die kan helpen? :help:

VinceMañana

Legacy Member
Kheb het zelf kunnen oplossen door de Textfields naar Bitmaps te tekenen :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan