我正在使用swfobject来嵌入我的闪光灯。它做的很奇怪。
我使用FlexBuilder创建了一个简单的文本字段。这是一个AS3项目,它扩展了Sprite。我将其宽度设置为640,高度设置为450.然后,在页面的swfobject参数中,我还设置了640 x 450.我已经使背景变得漂亮,红色和丑陋,所以你可以看到它。 :)
http://www.brighttext.com/flash/TextFieldSetFormat.html
这似乎是正确的尺寸。但我有一个文本字段应该是几乎相同的大小和高度。这在FlexBuilder中运行正常(尺寸合适)但是一旦我添加了swfobject就搞砸了任何人都可以看到发生了什么?
编辑注意:我只是看着它,它看起来不错。但后来我刷新了页面,文本字段是邮票大小(再次 - 这是我看到的原始行为。)它现在在Firefox中看起来不错但在IE8中却没有。 Flash应该在所有浏览器中看起来都一样!! ??
AS3代码:
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.Font;
[SWF(width="640", height="450", backgroundColor="#FFFFFF", frameRate="30")]
public class TextFieldSetFormat extends Sprite
{
[Embed(source='C:/WINDOWS/Fonts/ArialBD.TTF', fontWeight = 'bold', fontName='ArialBold')]
[Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontWeight = 'regular', fontName='Arial')]
public function TextFieldSetFormat()
{
var tf2:TextFormat = new TextFormat();
tf2.size = 16;
tf2.font = "Arial";
Font.registerFont(_VerdanaFontBold);
Font.registerFont(_VerdanaFont);
var pad:Number = 10;
var brightTextField:TextField = new TextField;
brightTextField.backgroundColor = 0xDDF3B2;
brightTextField.background = true;
brightTextField.embedFonts = true;
brightTextField.border = true;
brightTextField.defaultTextFormat = tf2;
brightTextField.wordWrap = true;
brightTextField.multiline = true;
brightTextField.width = stage.stageWidth - (4 * pad);
brightTextField.height = stage.stageHeight - (3 * pad);
brightTextField.x = 2*pad;
brightTextField.y = 2*pad;
brightTextField.text = "Dear Senators, I have become concerned over the idea that some in the Senate will oppose the public option because of a group of wild-eyed, overbearing but misinformed ideologues. These people mistakenly equate insurance reform with Socialism and call our first African-American President unprintable epithets. This is unacceptable. The public option is the choice of more than 70% of Americans, a majority of the House and a great many opinion leaders. Passing insurance reform without a public option persists the current broken system. I am aware that many Senators would prefer to pass a reform bill with bipartisan support. But we cannot allow this critical debate to be hijacked by extremists or corporate profiteers. Thank you, and I look forward to hearing from you.";
addChild(brightTextField);
}
}
}
答案 0 :(得分:0)
尝试跟踪stage.stageWidth / Height的值,并使用Flash Tracer之类的插件查看其输出内容。
您可能只需要为Event.ADDED_TO_STAGE / INIT添加一个事件监听器,并在该监听器中执行您的设置代码。
答案 1 :(得分:0)
问题在于使用stage.stageWidth和stage.stageHeight。我还不确定为什么会这样,但是本着敏捷开发的精神,这是一个解决方案。 :)
不使用stage.stageWidth,只需使用多个像素。 (640 x 450,在我的情况下)。然后问题就消失了。
我会发布更多相关内容 - 包括我拍摄的截图,以及我在博客上发布的测试,并会在此处发布链接。