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

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

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
По умолчанию центруем пустой клип, в который будем загружать странички

Привет, уважаемые Гуру!
У меня вновь возник вопрос, надеюсь на Вашу помощь.
Делаю сайт, в котором будет резиновый фон, меню и информационные странички должны располагаться посередине оси х, а по y там где расположим на сцене ручками. Использую вот такой код.
Код AS1/AS2:
//cсцена
var fon_w:Number = fon._width;
var fon_h:Number = fon._height;
var fon_so = fon._width/fon._height;
Stage.addListener(this);
Stage.align = "TL";
Stage.scaleMode = "noScale";
this.onResize = function() {
	var stage_so:Number = Stage.width/Stage.height;
	if (stage_so>fon_so) {
		fon._xscale = fon._yscale=100*Stage.width/fon_w;
	} else {
		fon._xscale = fon._yscale=100*Stage.height/fon_h;
	}
};
 
//информационное поле
Stage.addListener(images_cont)
images_cont.onResize=function() {
    this._x = (Stage.width - this._width)/2;
}
 
//кнопки
Stage.addListener(btm1)
btm1.onResize=function() {
    this._x = (Stage.width - this._width)/2-142;
}
Stage.addListener(btm2)
btm2.onResize=function() {
    this._x = (Stage.width - this._width)/2;
}
Stage.addListener(btm3)
btm3.onResize=function() {
    this._x = (Stage.width - this._width)/2+139;
}
 
//сразу грузится главная страница
_root.images_cont.loadMovie("main.swf");
Все идеально, кроме пустого мувиклипа images_cont, в который грузятся странички... Подскажите как можно images_cont от центровать по оси х?

Добавлено через 49 минут
в чем может быть трабл ?

Старый 24.02.2009, 22:21
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 2  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Грузить страницы MovieClipLoader' ом. Ждать события onLoadInit, после которого станут известны размеры загружаемого swf и только тогда центровать ее.

Старый 24.02.2009, 22:27
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 3  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
у меня сейчас в 10 кадре прописан код, как я понял нужно в 10м кадре написать
Код AS1/AS2:
//сразу грузится главная страница
_root.images_cont.loadMovie("main.swf");
а в 11м его центровать?

Старый 24.02.2009, 22:37
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 4  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Тестировать лень, но вряд ли плеер будет дожидаться загрузки в 10 кадре, так что не факт, что в 11 кадре swf будет уже загружен. Лучше воспользоваться MovieClipLoader'ом

Старый 24.02.2009, 22:41
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 5  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Цитата:
Сообщение от Kuruki Посмотреть сообщение
Тестировать лень, но вряд ли плеер будет дожидаться загрузки в 10 кадре, так что не факт, что в 11 кадре swf будет уже загружен. Лучше воспользоваться MovieClipLoader'ом
подкинь мысль плз, как им воспользоваться
небольшой скриптик, что бы я разобрался, если не сложно, я пока ещё чайник.

Добавлено через 1 минуту
у меня в самом начале в коде стоят эти строки, разве они не то обозначают
не мувиклип лодер?
Код AS1/AS2:
//код который отвечает за поведение кнопочек
var mcl:MovieClipLoader = new MovieClipLoader();
var box:MovieClip = this.images_cont;
 
var lastPressed:MovieClip = null;
function push_the_button(){
	trace(this._name)
	lastPressed.enabled = true;
	lastPressed.gotoAndPlay("_up");
	lastPressed = this;
	lastPressed.enabled = false;
	mcl.loadClip(this.param + '.swf', box);
 
}
btm1.onPress = push_the_button;
btm1.param = 'flowers';
btm2.onPress = push_the_button;
btm2.param = 'main';
btm3.onPress = push_the_button;
btm3.param = 'main';

Старый 24.02.2009, 22:51
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 6  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Ну да, он самый. Только ты им не пользуешься...
Здесь найдешь инфу о нем на русском с примерами

Старый 24.02.2009, 22:53
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 7  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
[quote=Kuruki;800872]Ну да, он самый. Только ты им не пользуешься...
Здесь найдешь инфу о нем на русском с примерами[/QU
СПАСИБО тебе

Добавлено через 10 минут
да это не быстро тут разобраться, а так на взгляд не поможешь ? за хелп все равно спасибо

Добавлено через 18 минут
эх, а счастье так близко ) ребят, подскажите плз бездарю )

Добавлено через 30 минут
а как же им воспользоваться в моем случае подскажите, люди добрые !!!


Последний раз редактировалось Dr_Bra; 24.02.2009 в 23:12.
Старый 25.02.2009, 00:16
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 8  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код AS1/AS2:
var box:MovieClip = this.images_cont;
Вот это не понимаю зачем делаешь. Сразу в images_cont грузить нельзя?

Быть контейнером для загружаемого swf и одновременно слушателем состояния загрузки swf и ресайза сцены, images_cont не сможет. Потому что после загрузки в него содержимого, свойства и методы, назначенные ему тобой "удаляются". Поэтому в качестве слушателе создаешь новый объект и на него вешаешь функции.
Код AS1/AS2:
var mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcl.addListener(listener);
Stage.addListener(listener)
 
listener.onLoadInit = function(){
    // Размеры загружаемого swf теперь известны,центрируемся 
    this.onResize();
}
listener.onResize=function() {
    images_cont._x = (Stage.width - images_cont._width)/2;
}
Код AS1/AS2:
//сразу грузится главная страница
mcl.loadClip('main.swf', images_cont);
 
//а можно и 
btm2.onPress();
// тем самым "блокируя" кнопку

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
у меня сейчас вот такой код, который без проблем центрует кнопки, но никак не может разобраться с информационным полем, поскольку на сцены пустой мувиклип в который загружаются странички
Код AS1/AS2:
//информационное поле
Stage.addListener(images_cont)
images_cont.onResize=function() {
    this._x = (Stage.width - this._width)/2;
}
 
//кнопки
Stage.addListener(btm1)
btm1.onResize=function() {
    this._x = (Stage.width - this._width)/2-142;
}
попробовал поменять код на тот, который предложил Kuruki, но ничего не получилось ((( что еще можно сделать?

Старый 25.02.2009, 17:06
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 10  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
покажи как ты вставил мой код. Не понимаю как может не получиться


Последний раз редактировалось Kuruki; 25.02.2009 в 17:36.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
загрузка , централизация , центровка

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

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


 


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


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