Hey all… I’m making a thumbnail type class here and it’s working just fine, but the problem comes when I want to rollover/ rolloff my thumbs. SOMETIMES I get this error when I roll off the thumb:
TypeError: Error #1006: setTextFormat is not a function.
at com.mysite.testing::CreateThumbs/::boxOnMouseOut()
Any thoughts?
package com.mysite.testing {
import flash.display.Sprite;
import flash.events.*;
import flash.display.MovieClip;
import flash.text.TextFormatAlign;
import flash.text.TextField;
import flash.text.TextFormat;
import fl.containers.UILoader;
public class CreateThumbs extends Sprite{
private var _urlString:String; //url for product
private var _imgString:String; //url for image
private var _titleString:String; //title of product
private var _catString:String; // category id
private var graceArray:Array = new Array();
private var thumbHider:MovieClip = new MovieClip();
public function CreateThumbs(newPos:Number, thumbXML:XML) {
var dataLoader:MovieClip = new MovieClip();
dataLoader.graphics.lineStyle(1, 0xffffff, 1, true);
dataLoader.graphics.beginFill(0x5d5d5d, 1);
dataLoader.graphics.drawRect(-1, -1, 112, 152);
dataLoader.graphics.endFill();
dataLoader.x = newPos + 30;
dataLoader.y = 45;
dataLoader.mouseEnabled = true;
dataLoader.height = 160;
dataLoader.width = 120;
dataLoader.buttonMode = true;
dataLoader.addEventListener(MouseEvent.MOUSE_OVER, boxOnMouseOver);
dataLoader.addEventListener(MouseEvent.MOUSE_OUT, boxOnMouseOut);
dataLoader.addEventListener(MouseEvent.MOUSE_DOWN, boxOnPress);
var photoLoader:UILoader = new UILoader();
photoLoader.mouseEnabled = true;
photoLoader.width = 110;
photoLoader.height = 150;
photoLoader.y = 0;
photoLoader.x = 0;
photoLoader.source = thumbXML.thumbnailUrl.text(); //substitute with url to 150x110 image
thumbHider.graphics.lineStyle(0, 0xa9a9a9, 0, true);
thumbHider.graphics.beginFill(0x000000, 1);
thumbHider.alpha = .6;
thumbHider.graphics.drawRect(-1, -1, 110, 150);
thumbHider.graphics.endFill();
thumbHider.x = 0;
thumbHider.y = 0;
thumbHider.mouseEnabled = true;
thumbHider.height = 153;
thumbHider.width = 112;
thumbHider.buttonMode = true;
var textHolder:MovieClip = new MovieClip();
textHolder.graphics.drawRect(1, 1, 111.5, 25);
textHolder.x = -2;
textHolder.y = 151;
var boxName:TextField = new TextField();
boxName.text = thumbXML.title.text();
boxName.y = 5;
boxName.width = 110;
boxName.height = 20;
boxName.mouseEnabled = false;
boxName.wordWrap = true;
boxName.textColor = 0xffffff;
boxName.antiAliasType = "advanced";
var boxNameFormat:TextFormat = new TextFormat("Trebuchet MS", 11, 0xffffff, false, null, null, null, null, TextFormatAlign.CENTER);
boxName.setTextFormat(boxNameFormat);
textHolder.addChild(boxName);
dataLoader.addChild(textHolder);
dataLoader.addChild(photoLoader);
dataLoader.addChild(thumbHider);
addChild(dataLoader);
}
private function boxOnMouseOver(evt:MouseEvent){
thumbHider.alpha = 0;
evt.target.parent.graphics.clear();
evt.target.parent.graphics.lineStyle(2, 0xffffff, 1, true);
evt.target.parent.graphics.drawRect(-1, -1, 112, 152);
var bNFormat:TextFormat = new TextFormat("Trebuchet MS", 11, 0xffffff, true, null, null, null, null, TextFormatAlign.CENTER);
evt.target.parent.getChildAt(0).getChildAt(0).setTextFormat(bNFormat);
}
private function boxOnMouseOut(evt:MouseEvent){
thumbHider.alpha = .4;
evt.target.parent.graphics.clear();
evt.target.parent.graphics.lineStyle(1, 0xffffff, 1, true);
evt.target.parent.graphics.drawRect(-1, -1, 112, 152);
var bNFormat:TextFormat = new TextFormat("Trebuchet MS", 11, 0xffffff, false, null, null, null, null, TextFormatAlign.CENTER);
evt.target.parent.getChildAt(0).getChildAt(0).setTextFormat(bNFormat);
}
private function boxOnPress(evt:MouseEvent){
//nothing yet
}
private function randomNumber(low:Number=NaN, high:Number=NaN):Number{
var low:Number = low;
var high:Number = high;
if(isNaN(low))
{
throw new Error("low must be defined");
}
if(isNaN(high))
{
throw new Error("high must be defined");
}
return Math.round(Math.random() * (high - low)) + low;
}
}
}