I’ll add a simplified version of the code at the bottom.
I have a sprite, it’s visible and happy. I have a textfield, this is visible and happy. If I print the textfield to the sprite for animation purposes, all hell breaks loose.
The sprite has a drop shadow, output throws a warning swing the sprite is 8900+ pixels wide and 7000 pixels tall if I parent the textfield. I know I could use a hack to keep the textfield and sprite together during animation, but I’d rather not. Code:
private var headerField:TextField = new TextField(); //text field for the header text
private var contentBox:Sprite; //box surrounding text elements
headerFormat.font = boldFont.fontName;
headerFormat.align = TextFormatAlign.LEFT;
headerFormat.color = (0xDDDDDD);
headerFormat.size = headerSize;
headerFormat.leading = 2;
contentBox = new Sprite();
contentBox.graphics.beginFill(uint(pageColour));
contentBox.graphics.drawRect(0, 0, 100, 100);
contentBox.graphics.endFill();
contentBox.filters = [new DropShadowFilter(4, 90, 0, 0.75, 4, 4, 0.75, 3, false, false, false)];
contentBox.x = 25;
contentBox.y = 150;
contentBox.width = 1140;
contentBox.height = 555;
headerField.x = 50;
headerField.y = 180;
headerField.width = 610;
addChild(contentBox);
addChild(headerField);
Works fine, change:
addChild(headerField);
to:
contentBox.addChild(headerField);
And the textfield will not show, the output says the shadow cannot be rendered, and everything runs really slow.
I’ve tried adding the items to the stage before changing the width etc, no difference. Any ideas?
Cheers.
Keep in mind that when a DisplayObject’s X and Y properties are determined based off of the parent. So changing the parent of the text means that it’s probably not ending up where you think it is (for instance its X location will no longer be 50px from the left of stage, but instead 50px from contentHeader which is itself 25px from the left of the stage). Try commenting out the drop shadow line (as that seems to be the one causing the error) and then seeing where the textfield is actually ending up position wise and adjust that. I’m not sure why that should cause an error though.
Alternatively, try commenting out the lines where you set the header’s X, Y and width and see if that changes anything. Perhaps this will help you narrow down the bug.