Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.01.2007, 21:25
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 1  
Ответить с цитированием
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
По умолчанию CSS, ActionScript 3.0 и прочий MVC

Могу ли я во Flash пользоваться css-файлами? То есть задавать стиль объекта (например TextField) не из ActionScript кода, а пользуясь внешним файлом. Может не CSS, может, нужно строить это как-то иначе... Я несколько лет не работала с Flash-ем, сейчас все сильно поменялось, особенно - подход.

Старый 29.01.2007, 01:06
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 2  
Ответить с цитированием
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
я как раз пыталась пользоваться классом StyleSheet, но скрипт добежал до load и упал. Я завтра утром вышлю с какой ошибкой он упал. Я так поняла, что он упал, потому что StyleSheet больше не поддерживает load url. По крайней мере во Flex Developer-е load не был обнаружен среди методов StyleSheet... В любом случае спасибо - я завтра посмотрю все это подробнее

Старый 29.01.2007, 03:38
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 3  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
aksyos класс StyleSheet находится не в TextField а в flash.text.StyleSheet.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 29.01.2007, 13:11
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 4  
Ответить с цитированием
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
я получаю следующее сообщение об ошибке:

Код:
TypeError: Error #1006: load is not a function.
	at playgropund$iinit()
А код такой:

Код:
			var myCSS:StyleSheet = new StyleSheet();
			var cssURL:String = "PGStyles.css";
			myCSS.load(cssURL);
			myCSS.onLoad = function (success:Boolean):void {
				if (success) {
					tf = TextFormat(myCSS);
				}
			}
В начале package есть
Код:
	import flash.text.StyleSheet;
А в документации у класса StyleSheet метода load нет:
http://livedocs.macromedia.com/flex/...tyleSheet.html

Наверно, так задумано

Старый 29.01.2007, 13:48
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 5  
Ответить с цитированием
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
Это не работает. Я получаю сообщения об ошибках:
Код:
var myCSS:TextField.StyleSheet = new TextField.StyleSheet();
<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?

Старый 29.01.2007, 14:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
aksyos, речь про AS3, а пишешь про AS2/AS1

Старый 29.01.2007, 14:21
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 7  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Цитата:
Сообщение от __etc
aksyos, речь про AS3, а пишешь про AS2/AS1
Это точно промашка вышла. Я ваще плохо вижу и соображаю.

Старый 29.01.2007, 16:13
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Файлы вообще грузим классом 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 и я стану писателем ^_^

Старый 29.01.2007, 16:23
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 9  
Ответить с цитированием
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
Все, ура, понял. Спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.