|
|
|||||
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
CSS, ActionScript 3.0 и прочий MVC
Могу ли я во Flash пользоваться css-файлами? То есть задавать стиль объекта (например TextField) не из ActionScript кода, а пользуясь внешним файлом. Может не CSS, может, нужно строить это как-то иначе... Я несколько лет не работала с Flash-ем, сейчас все сильно поменялось, особенно - подход.
|
|
|||||
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
я как раз пыталась пользоваться классом StyleSheet, но скрипт добежал до load и упал. Я завтра утром вышлю с какой ошибкой он упал. Я так поняла, что он упал, потому что StyleSheet больше не поддерживает load url. По крайней мере во Flex Developer-е load не был обнаружен среди методов StyleSheet... В любом случае спасибо - я завтра посмотрю все это подробнее
|
|
|||||
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
я получаю следующее сообщение об ошибке:
А код такой: var myCSS:StyleSheet = new StyleSheet(); var cssURL:String = "PGStyles.css"; myCSS.load(cssURL); myCSS.onLoad = function (success:Boolean):void { if (success) { tf = TextFormat(myCSS); } } А в документации у класса StyleSheet метода load нет: http://livedocs.macromedia.com/flex/...tyleSheet.html Наверно, так задумано |
|
|||||
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
Это не работает. Я получаю сообщения об ошибках:
<i>Severity Description Resource In Folder Location Creation Time Id 2 1046: Type was not found or was not a compile-time constant: StyleSheet. playgropund.as playgropund line 21 11:44:28 29 ינואר 2007 148 Severity Description Resource In Folder Location Creation Time Id 2 1061: Call to a possibly undefined method StyleSheet through a reference with static type Class. playgropund.as playgropund line 21 11:44:28 29 ינואר 2007 149 </i> Может, Вы работаете не с ActionScript 3? |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
aksyos, речь про AS3, а пишешь про AS2/AS1
|
|
|||||
loading 50%
|
Цитата:
|
|
|||||
4AM Games
|
Файлы вообще грузим классом URLLoader или URLStream, в данном случае подходит URLLoader:
package { import flash.display.Sprite; import flash.events.Event; import flash.events.IEventDispatcher; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class CSSLoader extends Sprite { public function CSSLoader() { var request:URLRequest = new URLRequest("style.css"); //Create URLRequest var loader:URLLoader = new URLLoader(); //Create URLLoader, this instance will load CSS file. loader.addEventListener(Event.COMPLETE, parseCSS); //suscribe handler to COMPLETE event, which will be fired when file is loaded. loader.load(request); //invoke load method. } private function parseCSS(event:Event):void { var loader:URLLoader = event.target as URLLoader; //store referece to loader instance. var second:Object = new Object(); //create object container for style second.color = "#FF0000"; //create style fields second.fontStyle = "italic"; var css:StyleSheet = new StyleSheet(); //create StyleSheet instance. css.parseCSS(loader.data as String); //parce loaded file to CSS css.setStyle(".second", second); //manualy create style from object. var textField:TextField = addChild(new TextField()) as TextField; //Add new TextField instance, and store it's reference. textField.autoSize = TextFieldAutoSize.LEFT; //Set up TextField auto size, stylesheet and text properties. textField.styleSheet = css; textField.htmlText = "<body><span class='first'>Hello</span> <span class='second'>World!</span></body>"; trace(textField.styleSheet.getStyle("first").color); //check styles. trace(textField.styleSheet.getStyle("second").color); loader.removeEventListener(Event.COMPLETE, parseCSS); //remove method reference from IEventDispatcher. } } }
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
Все, ура, понял. Спасибо!
|
Часовой пояс GMT +4, время: 02:43. |
|
« Предыдущая тема | Следующая тема » |
|
|