Я использую 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);
}
}
}