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

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

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

Регистрация: Jun 2004
Сообщений: 83
По умолчанию выравнивание по центру

снова столкнулся с проблеммой
загружаю картинку из xml в контейнер следующим образом

Код AS1/AS2:
var picts_cont:MovieClip = _root.createEmptyMovieClip("picts_cont_mc", _root.getNextHighestDepth());
хотелось бы чтоб эта картинка встала ровно по середине ролика

пробовал таким образом
Код AS1/AS2:
picts_cont._x = (Stage.width-picts_cont._width)/2
picts_cont._y = (Stage.height-picts_cont._height)/2
но загружаемая картинка встает в центр ролика своим верхним левым углом, а не своим центром..
подскажите как можно выравнять загружаемую картинку по ровно по центру ролика

еще интересует вариант с загрузкой флешки по центру ролика
Код AS1/AS2:
var my_mcl:MovieClipLoader=new MovieClipLoader(); 
my_mcl.loadClip("123.swf",2);
как загружаемый swf вставить по центру ролика?

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
Stage.align = "tl";
Stage.scaleMode = "noscale";
var loadListener = {};
loadListener.onLoadInit = function(target_mc:MovieClip){
    target_mc._x = Math.round((Stage.width - target_mc._width)/2);
    target_mc._y = Math.round((Stage.height - target_mc._height)/2);
}
my_mcl.addListener(loadListener);
Правильно пробовали, но не в тот момент.
__________________
hauts.ru


Последний раз редактировалось Hauts; 12.01.2010 в 19:01.
Старый 12.01.2010, 19:26
Bankomat вне форума Посмотреть профиль Отправить личное сообщение для Bankomat Найти все сообщения от Bankomat
  № 3  
Ответить с цитированием
Bankomat

Регистрация: Jun 2004
Сообщений: 83
Цитата:
Сообщение от Hauts Посмотреть сообщение
Правильно пробовали, но не в тот момент.
а в какой момент вставлять тот код который вы дали?


Код AS1/AS2:
var picts_cont:MovieClip = _root.createEmptyMovieClip("picts_cont_mc", _root.getNextHighestDepth());
Stage.align = "tl";
Stage.scaleMode = "noscale";
var loadListener = {};
loadListener.onLoadInit = function(picts_cont:MovieClip){
    picts_cont._x = Math.round((Stage.width - picts_cont._width)/2);
    picts_cont._y = Math.round((Stage.height - picts_cont._height)/2);
}
my_mcl.addListener(loadListener);
так вы имелли ввиду? таким образом ничего не происходит
картинка вставляется в верхний левый угол

вот код с помощью которого я загружаю картинки по очереди из xml в контейнер, который хотелось бы поместить по центру ролика
если вас не затруднит, покажите как действовать?
Код AS1/AS2:
// шаг 1
// клип-контейнер для картинок
var picts_cont:MovieClip = _root.createEmptyMovieClip("picts_cont_mc", _root.getNextHighestDepth());
 
// ----------------
// шаг 2
// xml объект
var picts_xml:XML = new XML();
picts_xml.ignoreWhite = true;
// пробелы в xml нам врядли понадобятся
// шаг 3
// обработка загрузки xml файла
picts_xml.onLoad = function(success) {
	if (success) {
		//trace(this); // смотрим что загрузилось
		// записываем количество картинок
		allPicts = picts_xml.firstChild.childNodes.length;
		// загружаем первую картинку
		showPict();
	} else {
		trace("xml не загружен");
	}
};
// шаг 4 
// загрузка xml файла
picts_xml.load("picts.xml");
// шаг 5
// подготовка к загрузке картинок
var curPict = 0;
// номер текущей картинки
var allPicts = 0;
// всего картинок
// MovieClipLoader для картинок
var pict_mcl:MovieClipLoader = new MovieClipLoader();
// функция, отвечающая за загрузку картинки и подписи
showPict = function () {
	// путь и название текущей картинки 
	var url = picts_xml.firstChild.childNodes[curPict].attributes.link;
	// загрузка картинки
	pict_mcl.loadClip(url, picts_cont);
	//
};
// загрузка следующей картинки
nextPict = function () {
	curPict++;
	if (curPict>=allPicts) {
		curPict = 0;
	}
	showPict();
};
nextPict();
setInterval(nextPict,6000);

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Меня не затруднит Держите:

Код AS1/AS2:
Stage.align = "tl";
Stage.scaleMode = "noscale";
import flash.filters.BlurFilter;
var images = [];
var picts_xml:XML = new XML();
picts_xml.ignoreWhite = true;
picts_xml.onLoad = function(success) {
	if (success) {
		var totalPictures = this.firstChild.childNodes.length;
		for (var k = 0; k<totalPictures; k++) {
			images[k] = this.firstChild.childNodes[k].attributes.link;
		}
		loadImage();
	} else {
		trace("xml не загружен");
	}
};
picts_xml.load("picts.xml");
var container = _root.createEmptyMovieClip("picts_cont_mc", _root.getNextHighestDepth());
var loaderBox = container.createEmptyMovieClip("loaderBox", 0);
loaderBox.cacheAsBitmap = true;
container.onResize = function() {
	this._x = Math.round((Stage.width-this._width)/2);
	this._y = Math.round((Stage.height-this._height)/2);
};
Stage.addListener(container);
var mcl:MovieClipLoader = new MovieClipLoader();
var currentImage = 0;
var loadListener = {};
var interval:Number;
loadListener.onLoadInit = function(target_mc) {
	container.onResize();
	currentImage++;
	if (currentImage == images.length-1) {
		currentImage = 0;
	}
	interval = setInterval(loadImage, 10000);
	target_mc._alpha = 0;
	target_mc.filters = [new BlurFilter(10, 10, 3)];
	target_mc.onEnterFrame = function() {
		if (this._alpha<100) {
			this._alpha += 10;
			var f = this.filters[0];
			f.blurX = f.blurY=(100-this._alpha)/10;
			this.filters = [f];
		} else {
			this.filters = null;
			delete this.onEnterFrame;
		}
	};
};
mcl.addListener(loadListener);
function loadImage() {
	clearInterval(interval);
	mcl.loadClip(images[currentImage], loaderBox);
};
С появлением картинок, думаю, сами разберетесь.
__________________
hauts.ru


Последний раз редактировалось Hauts; 12.01.2010 в 21:07.
Старый 13.01.2010, 08:57
Bankomat вне форума Посмотреть профиль Отправить личное сообщение для Bankomat Найти все сообщения от Bankomat
  № 5  
Ответить с цитированием
Bankomat

Регистрация: Jun 2004
Сообщений: 83
большое спасибо

единственное вот сдесь если оставлять такой кол, то он доходит только до пред последней картинки в xml файле и начинает заного)
поставил вместо нее 1 0 стал показывать все картинки=)
если убираешь вообще -1 то оно как то не вписывается в альфу)
if (currentImage == images.length-1)

ну а так все работает)

Старый 13.01.2010, 09:09
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 6  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Опс, ошибся немного.
__________________
hauts.ru

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

Регистрация: Jun 2004
Сообщений: 83
Цитата:
Сообщение от Hauts Посмотреть сообщение
Опс, ошибся немного.
я заметил что картинки иногда подгружаются с глюком, причем это происходит само собой ... иногда запускаешь swf работает идельно, а иногда бывает что перед сменой картинки на следующую, происходит еще одно лишнее появление альфы предыдущей картинки..

пример приведу.. есть картинки А и B
когда нормально работает картинка
А появляется
А затухает
B появляется
B затухает

иногда работает так(это плоха)
А появляется
А затухает
А резко появляется и затухает
B появляется
B затухает
B резко появляется и затухает

и тд

что делать в чем ошибка?


Последний раз редактировалось Bankomat; 13.01.2010 в 11:40.
Старый 13.01.2010, 12:31
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Если вы не меняли код появления картинок, то последовательность должна быть такой:

А появляется из прозрачности
А исчезает на какой-то момент
В появляется из прозрачности
В исчезает и так далее.

В моем коде нет "затухания" картинок, только появление из прозрачности.
__________________
hauts.ru

Старый 13.01.2010, 13:19
Bankomat вне форума Посмотреть профиль Отправить личное сообщение для Bankomat Найти все сообщения от Bankomat
  № 9  
Ответить с цитированием
Bankomat

Регистрация: Jun 2004
Сообщений: 83
Цитата:
Сообщение от Hauts Посмотреть сообщение
Если вы не меняли код появления картинок, то последовательность должна быть такой:

А появляется из прозрачности
А исчезает на какой-то момент
В появляется из прозрачности
В исчезает и так далее.

В моем коде нет "затухания" картинок, только появление из прозрачности.
да вы правы, это просто зрительный обман, но то что перед след картинкой происходит снова появление из прозрачности предыдущей картинки это бывает.. код не менял

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

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

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


 


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


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