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

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

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
По умолчанию [BUG] Image, SWFLoader не грузят файлы на Маке

Image, SWFLoader не грузят файлы на Маке, если приложение работает локально (делалось приложение в цинке для Мака).

Вероятно буг связан с SWFLoader, который невено колбасит строку для линка
код SWFLoader, метод loadContent (начиная со строки 1261) и мои коменты
Код:
.......
if (!(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
			{
				var rootURL:String;
				if(SystemManagerGlobals.bootstrapLoaderInfoURL!=null && SystemManagerGlobals.bootstrapLoaderInfoURL!="")
					rootURL = SystemManagerGlobals.bootstrapLoaderInfoURL;
				else if (root)
					rootURL = root.loaderInfo.url;
				else if (systemManager)
					rootURL = DisplayObject(systemManager).loaderInfo.url;

				if (rootURL)
				{
					var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));	
//тут индусы наверное забыли, что у мака то разделители  каталогов ":" 
//и локальный путь будет содержать не слеши, а ":".
//поэтому у нас получаеться неверный путь к картинке
//естетсвенно мы получаем мега болт вместо имаджа.  


		                   if (lastIndex != -1)
						url = rootURL.substr(0, lastIndex + 1) + url;
				}
			}
.......
Решение этой проблемы (не идеально но нас пока устраивает):

Передаем в сурс Image полный путь к картинке, который получам так
Код:
link = mdm.Application.path + [относительный путь к картинке]
mdm.Application.path - это цинковая функция возвращающая каталог приложения, но можно выдегривать путь и без нее из
Application.application.url обрезая имя файла в конце.
__________________
33 коровы

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

Регистрация: Sep 2002
Сообщений: 30,787
Очередной косяк Flex-а. Кстати, локальный путь на маке может быть слешами. Не видел у себя двоеточий.

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Кстате если таки поставишь себе Flex на Мак то поставь там брейкпоинт и посмотри чему равен rootURL, так для интереса)
__________________
33 коровы

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

Регистрация: Sep 2002
Сообщений: 30,787
Да у меня тут виндовый Flex коньки отбросил, не хочет работать ни с какой версией дебагового плеера.

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

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
Цитата:
Сообщение от __etc
Очередной косяк Flex-а. Кстати, локальный путь на маке может быть слешами. Не видел у себя двоеточий.
в нашей ситуации, и на тех маках, что тестили, пути были через ":", хотя может это уже завязанно на Zink. вообщем be careful people
__________________
Feсi quod potui, faciant meliora potentes

Старый 09.06.2008, 21:42
MyChemic вне форума Посмотреть профиль Отправить личное сообщение для MyChemic Найти все сообщения от MyChemic
  № 6  
Ответить с цитированием
MyChemic

Регистрация: Jan 2007
Сообщений: 91
никто не смог победить этот баг? а то на винде смотрел, там все ок, а на маке ни в какую не хочет грузить картинки по заданному пути, а из своей папки грузит(((

пути картинок трейсил, там все ок

Старый 10.06.2008, 11:09
ex.image вне форума Посмотреть профиль Отправить личное сообщение для ex.image Найти все сообщения от ex.image
  № 7  
Ответить с цитированием
ex.image

Регистрация: Jan 2006
Адрес: Москва
Сообщений: 65
Отправить сообщение для ex.image с помощью ICQ
хмм так грузит )
Код:
<mx:Image source="file:////Users/stanislav/Pictures/back.jpg"/>
Проверял на AIR.
или я не так что то понял?
__________________
Бубен - волшебный инструмент программирования.

Старый 10.06.2008, 11:53
MyChemic вне форума Посмотреть профиль Отправить личное сообщение для MyChemic Найти все сообщения от MyChemic
  № 8  
Ответить с цитированием
MyChemic

Регистрация: Jan 2007
Сообщений: 91
ой, спасибо, дома попробую

Старый 18.06.2008, 18:58
rain_heart вне форума Посмотреть профиль Отправить личное сообщение для rain_heart Посетить домашнюю страницу rain_heart Найти все сообщения от rain_heart
  № 9  
Ответить с цитированием
rain_heart
 
Аватар для rain_heart

Регистрация: Jun 2007
Адрес: Ukraine/Dnepropetrovsk
Сообщений: 15
Отправить сообщение для rain_heart с помощью ICQ
По умолчанию может так

вот придумал такой способ:
Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	    <mx:Script>
        <![CDATA[
			import flash.display.*;
			import flash.media.*;
			import flash.events.*;
			import flash.net.*;
			
			var _urlSWF:String = "swf/testAS3.swf"//имя загружаемой SWF и путь, локальная папка swf
			var _rMovieSWF:MovieClip = new MovieClip();//мувиклип в который будем грузить (можно думаю и без него)
			
			public function PlaySWF():void
			{
				var _loaderSWF:Loader = new Loader();
				var _urlReq:URLRequest = new URLRequest(_urlSWF);
				_loaderSWF.load(_urlReq);
				_loaderSWF.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadSWFComplite);
			}
			public function onLoadSWFComplite(e:Event):void
			{
				_rMovieSWF = e.target.content as MovieClip;
				_mySWFLoader.addChild(_rMovieSWF);//добавляем в SWFLoader наш загруженный мувиклип
				_mySWFLoader.addEventListener(Event.ENTER_FRAME, onEterFrameSWF);//смотрим текущий кадр
			}
			
			public function onEterFrameSWF(e:Event):void
			{
				_myText.text=_rMovieSWF.currentFrame.toString();
			}
			
        ]]>
    </mx:Script>
	    <mx:SWFLoader width="310" height="96" id="_mySWFLoader" initialize="PlaySWF();"/>
	    <mx:Text width="149" id="_myText" text="sds" y="104"/>
	
</mx:Application>
Идея в том что грузим swf средствами флеша а точнее класса Loader и передаем его объекту SWFLoader.
Тут еще добавленно текстовое поле которое показывает текущий кадр swf-ки
С картинками тоже будет работать
тестовый SWF ролик был скомпилирован для AS3 для AS2 по идее тоже должно работать только текущий фрейм показывать не будет так как там после загрузки у нас не [movieclip object] а что то типа [AVM1Movie]

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

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

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


 


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


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