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

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

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

Регистрация: Jul 2009
Сообщений: 2
По умолчанию динамичиская загрузка картинок и кадры флэш фильма

Здравствуйте, такой вопрос.

За сколько кадров обрабатывается данные полученные из внешнего файла?
Зависит ли это от скорости интернета?

Задача в том, что у меня есть ролик, подгружаемые картинки и php файл который шлет количество картинок флешке.

Сначала php считает количество картинок в папке
PHP код:
<?
$imageDir 
"images";

$fileCount 0;

if (
is_dir($imageDir) && $directoryPointer = @opendir($imageDir)) {
    while (
$oneFile readdir($directoryPointer)) {
        
$thisFileType strtolower(substr(strrchr($oneFile"."), 1));
        if (
$thisFileType == "jpg" || $thisFileType == "jpeg") {
            
$fileCount++;
        }
    }
} else {
    
$fileCount = -1;
}
echo 
$fileCount;
?>
Флеш в в первом кадре принимает данные
Код AS1/AS2:
varObject = new LoadVars();
 
varObject.onLoad = function () {}
varObject.onData = function (dataIn) {
	numberOfFiles = unescape(dataIn);
}
varObject.load("03.php");
дальше – только в 7 кадре определение глобальной переменной
Код AS1/AS2:
_global.m = numberOfFiles;
//_global.k = numberOfFiles;
stop();
потом внутри символа _root.ser в первом кадре – начало загрузки картинок

Код AS1/AS2:
var p:Number
var k:Number
 
p = _global.m
 
k = p/2+1;
 
trace(m)
trace(k)
 
 
_root.bbf.text = k
 
for (var name in this) { 
 if (typeof (this[name]) == "movieclip") { 
 
 for (i=1; i<k; i++) {
 
 duplicateMovieClip(aa,"a"+i+"", this.getNextHighestDepth());
 
 
 setProperty("a"+i+"", _x, -553 + 83*i)
 setProperty("a"+i+"", _y, -223)
 
  for (j=5; j<k; j=j+5) {
 
if (i>=j+1) {
 setProperty("a"+i+"", _x, -553 +  83*(i-j))
	setProperty("a"+i+"", _y, -223 + 83*j/5)
 
}
  }
 
var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
    trace(target + ".onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal);
}
listener.onLoadInit = function(target:MovieClip):Void {
    trace(target + ".onLoadInit");	
 
 
	}
mcLoader.addListener(listener);
mcLoader.loadClip("images/pba"+i+".jpg", "a"+i+"", container);
 
 }}
 }
потом внутри символа _root.ser в 5 кадре – каждая картинка становится ссылкой, но иногда этого не случается. то есть почти всегда случается, но иногда нет, почему?

Код AS1/AS2:
 
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
_global.pp = "aa1";
 
for (i in this) {
	if (this[i] instanceof MovieClip) {
		// trace(this[i]._name);
	}
 
	this[i].onRelease = function() {
		 _root.bb.ld._visible = true;
		 _root.bb.ld._yscale = 0;
		trace(this._name);
		_global.pp = this._name;
		// loadMovie("images/b"+pp+".jpg", "_root.bb.bk");
 
		var container:MovieClip = _root.bb.bk.createEmptyMovieClip("container", this.getNextHighestDepth());
		var mcLoader:MovieClipLoader = new MovieClipLoader();
		var listener:Object = new Object();
		listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void  {
			trace(target+".onLoadProgress with "+bytesLoaded+" bytes of "+bytesTotal);
 
			_root.bb.ld._yscale = bytesLoaded/bytesTotal*100
		};
		listener.onLoadInit = function(target:MovieClip):Void  {
             _root.bb.ld._visible = false;
			trace(target+".onLoadInit");
			target._alpha = 0;
			var tw00:Tween = new Tween(target, "_alpha", Strong.easeOut, 0, 100, 1, true);
		};
		mcLoader.addListener(listener);
		mcLoader.loadClip("images/b"+pp+".jpg",container);
 
 
 
 
	};
	_root.bb.bk.onRelease = function() {
		trace(_global.pp);
		getURL(""+pp+"/p.html");
 
	};
}
stop();
 
//trace(_root.ser._height);
 
 
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
	_root.ser._y += delta*28;
	//  _root.ser._y -= 45;
	//trace(delta)
};
Mouse.addListener(mouseListener);

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

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

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


 


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


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