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

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

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Attention Не работает [Embed(...)] для *.swf

Здравствуйте!

Хотел разобраться с встраиванием граф-контента в конечный swf-файл. Полистал Мука, нашел примеры и давай пробовать. Но вот беда - картинки встраиваются без проблемм, а вот swf-ролики никак.
Привожу код и описание ошыбки:
Код AS3:
01 package
02 {
03 	import flash.display.*;
04 
05 	[Embed (source="skin.swf")] //Здесь выдает следующую ошибку:
/*
Описание: Встраивание поддерживается только для классов и переменных экземпляров.
Ресурс: Circle.as
Путь: /Circle/src
Расположение: Строка 5
Тип: Проблема Flex
*/
06 	public var Skin:Class;
07 	
08 	public class Circle extends Sprite
09 	{
10 		public function Circle()
11 		{
12 			var skin:Skin = new Skin();
13 			addChild(skin);
14 		}
15 	}
16 }

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
компилятор как бы намекает: "встраивайте между 9 и 10 строкой вашего кода". еще нужно будет свойство объявить после встраивания, описывающую вашу встройку.типа
Код AS3:
[Embed (source="skin.swf")]
private var SkinBytes:ByteArray;
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Цитата:
Сообщение от cleptoman Посмотреть сообщение
компилятор как бы намекает: "встраивайте между 9 и 10 строкой вашего кода". еще нужно будет свойство объявить после встраивания, описывающую вашу встройку.типа
Код AS3:
[Embed (source="skin.swf")]
private var SkinBytes:ByteArray;
Попробовал переделать, по Вашему рецепту, но добрый компилятор опять меня послал (класс ByyteArray ему не подходит:
Код AS3:
01 package
02 {
03 	import flash.display.*;
04 	import flash.utils.ByteArray;
05 
06 	public class Circle extends Sprite
07 	{
08 		[Embed (source="skin.swf")] // Теперь другая проблемма
/*
Описание: Встраивание поддерживается только для переменных типа Class и String.
Ресурс: Circle.as
Путь: /Circle/src
Расположение: Строка 8
Тип: Проблема Flex
*/
09 		public var SkinBytes:ByteArray;
10 		
11 		public function Circle()
12 		{
13 			var skin:SkinBytes = new SkinBytes();
14 			addChild(skin);
15 		}
16 	}
17 }
Когда я, по прозьбе компилятора, в строке 09 поставил тип переменной Class вместо ByteArray он опять заматерился: теперь ему не удается создать экземпляр класса SkinBytes (1046: Тип не найден или не является константой времени компиляции: SkinBytes.)

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Код AS3:
var skin:DisplayObject = new SkinBytes() as DisplayObject;
addChild(skin);
а так?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Беда в том, что строки 08 и 09 вместе не работают, то есть компилятор не может привязать внедренный клип к переменной, тип которой отличается от Class или String.

Может кто подскажет какие бывают параметры тега [Embed] кроме source, которые определяют тип встраиваемого контента. Поню когдато пытался встроить шрифт, так ничего не получалось пока не подсказали задать значение false параметру embedAsCFF

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
поищите тут в блогах много упоминаний и примеров было..маймтайп, например
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Спасибо всем, кто уделил мне внимание! Всем по 5 коп на весы!!!

А компилятор всетаки тупой - он толком не понял, какую ошибку он встретил и в описании сказал "Тип: Проблема Flex". А надо было: "Тип: Проблема elder_Nosferatu"!!!

Вина во всем моя: Я попутал внедрение на уровне переменной и класса!
Код AS3:
12 ...
13 /*		var skin:SkinBytes = new SkinBytes(); ПЛОХО! */
14  		var skin:MovieClipAsset = new SkinBytes(); // ХОРОШО !
15 ...


Последний раз редактировалось elder_Nosferatu; 03.03.2011 в 13:36.
Старый 03.03.2011, 13:49
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
эээ application/octet-stream ?

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
после того, как я понял свою ошибку все работает, как часы - и application/x-shockwave-flash и вообще без mimeType

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

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

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


 


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


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