PDA

Просмотр полной версии : pop-up заданного размера


darkzip
04.04.2007, 10:15
Есть галерея, в которой скажем 70 превью картинок, при нажатии на каждую открывается "большой" jpeg этой превьюшки с использованием такого кода:

on (press) {
getURL("javascript:spawnWindow('name.jpg','','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=640,height=480')");
}

Вопрос вот в чём. У меня есть "большие" jpeg двух размеров 640х480 или 480х640. Как можно упросить процесс написания данного кода для 70-ти кнопок?! То есть, можно ли как-то задать два вида размеров этих, например 'hor' и 'vert', А далее в кнопках уже прописывать вместо width=640,height=480 - просто hor и так же для вертикальных.


--------
Либо вопрос проще - как-то можно научить флэш при нажатии на превью открывать большой jpeg (в новом окне) без лишнего пространства (т.е. если она 640х480 то и откроется без границ и скроллов и меню в окне 640х480).?

CorC
04.04.2007, 10:18
ведь картинка где-то описана
напимер в ХМЛ
тогда там же можно хранить и высоту с шириной
а потом считывать и подставлять в onPress

darkzip
04.04.2007, 10:21
Я XML не умею пользовать. Картинки лежат просто в папке, оттуда и открываются описанным выше кодом. но каждый раз менять 70 кнопок - очень сложно (т.к. меняется ориентация картинок).

CorC
04.04.2007, 10:27
вот для этого и нужно их описать в ХМЛ :)

Vit025
04.04.2007, 10:58
Тут конечно XML лучше всего.

Еще как вариант сделай Array из 70 элементов, типа
var my_array:Array = new Array(1,0,0,1);
где 1 - вертикальная картинка, а 0 - горизонтальная. Потом цикл

(for i=0; i<=69; i++) {
// в цикле проверяй расположение фотки
if(my_array[i]==1) {
//код такой то
} else {
// код такой то
}

}


Но лучше таки с XML разберись. Там ничего сложного нет.

И вообще, нужен ли flash для ТАКОЙ задачи? Тут проще php использовать по моему.
Или таки показывать фотки прямо в swf без всяких попапов.

darkzip
04.04.2007, 11:07
Нет, мне нужен pop-up именно, ХМЛ сложно. Если код покажешь, я бы разобрался.=)

Думаю есть способ "Схитрить" именно в AS. Как-то задать две переменные (горизонтальная и вертикальная) и сказать каждой кнопке об этом...

или сделать Горизонтальная = 2, 3,6,10...картина, Вертиальная 1,4,5...

CorC
04.04.2007, 11:15
вы советы читаете?
http://flasher.ru/forum/showpost.php?p=628485&postcount=5

darkzip
04.04.2007, 11:28
Да, но как этот код в цикле к кнопкам привязать?
Именно, чтобы в коде кнопки вставлялся width=640,height=480 или обратный ему width=480,height=640?

Помогите иначе.

как сделать следуюущее:

Я задаю что переменные b1, b2, b3 = "width=640,height=480";
переменные b4, b5, b6 = "width=480,height=640";

Помогите теперь верно пунктуацию записать в коде (чтобы вместо hor = "width=xxx,height=xxx"; было в каждой кнопке b1, b2 и т.д.

CorC
04.04.2007, 12:20
var my_array:Array = new Array(1,0,0,1);
for(var i=0; i<70; i++) {
this["Button"+i].i=my_array[i];
this["Button"+i].onPress=function(){
if(this.i==1){
getURL("javascript:spawnWindow('name.jpg','','tool bar=no,location=no,status=no,menubar=no,scrollbars =no,resizable=no,width=640,height=480')");
}else{
getURL("javascript:spawnWindow('name.jpg','','tool bar=no,location=no,status=no,menubar=no,scrollbars =no,resizable=no,width=480,height=640')");
}
}
}


Но лучше таки с XML разберись. Там ничего сложного нет.

и еще мне кажется что вас забанят за нарушение аж 2 правил форума :)

etc
04.04.2007, 14:45
и еще мне кажется что вас забанят за нарушение аж 2 правил форума :)
Нет, пока плюсом ограничатся.