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

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

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

Регистрация: Mar 2007
Сообщений: 20
Отправить сообщение для Christina с помощью ICQ
Question Popup окно при клике по кнопке и подгрузука динамического текста.

Здравствуйте.
Ребят, нужна помощь.
Ситуация такая:
Я делаю сайт-визитку. На главной сцене домашней странички есть блок "горячих" новостей, под каждой новостью есть кнопка "Подробнее", при щелчке на ней появляется popup окошко, в него подгружается текст из внешнего txt файлика. Этот текст у меня скроллится. (посмотреть можно тут: http://www.mjon-line.com/artem/index.html, на дизайн внимание не обращайте, красоту пока особо не наводила)
Но проблема вот в чем:
Сейчас подгрузка текста происхот прям в мувике с динамическим текстом так:
Код:
myData = new LoadVars();
myData.onLoad = function(){
	date1.text = this.date1;
}
myData.load("news.txt");
stop();
А я хочу, чтоб в зависимости от того, какую кнопку нажал юзер ( на главной сцене) в это динамическое поле(popup окошка) грузилась соответствующая инфа (то есть при нажатии,скажем, первой кнопки "Подробнее" в текстовое поле date1 грузилась бы переменная из текстового файлика date1, а при щелчке на другую кнопку "Подробнее" в этоже текстовое поле date1 при клике грузилась уже другая инфа - date2, но из того же текстового файла news.txt с сожержимым date1=blablabla&date2=tratata) и не знаю как это реализовать.
Структура такая : на главной сцене кнопки "Подробнее", в библиотеке есть мувик с попап окном popup_mc, в нем мувик с контентом content_mc и в нем динамическое поле date1.
Еще раз вопрос:
Как заставить зрузиться разную инфу при нажатии разных кнопок с главной сцены, не создавая при этом новых клипов и кадров, в динамическое текстовое поле?
В архивчике мой исходник, посмотрите, пожалуйста, если не трудноhttp://www.mjon-line.com/artem/artem.rar
Извиняюсь, если непонятно объяснила, если что-то не ясно, спрашивайте, я с радостью отвечу. Просто я уже измучила Google и скорее всего не могу найти ответ на свой вопрос, по-скольку делаю кривой запрос. Вся надежда на Вас.

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

Регистрация: Jan 2008
Адрес: Minsk Belarus
Сообщений: 107
Код:
myData = new LoadVars();
myData.onLoad = function() {
	date1.text = this.date1;
};
myData.load("news.txt");
//Допустим, есть пара кнопок: today, about…
//Каждой кнопке соответствует свой текстовой файлик :today.txt, about.txt…
//Итак:
today.OnRelease = function() {
	myData.load("today.txt");
};
about.OnRelease = function() {
	myData.load("today.txt");
};
stop();
//Вот и все… :)

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

Регистрация: Mar 2007
Сообщений: 20
Отправить сообщение для Christina с помощью ICQ
Пасибо большое, о втором текстовике, я что-то не подумала сейчас попробую сделать, как вы сказали.

все работает
но я вот подумала, что через некоторе время таких новостей будет очень много... не делать же сотни текстовых файликов.
А можно как-то сделать так, чтоб число текстовиков, мувиков и кадров не возрастало. Еще учесть, что мувик с динамическим полем не на гланой сцене находится.
У меня знания не хватает к сожалению сделать это самой.
Вот если можно былоб в кнопке написать код, типа "при нажатии на кнопку загрузить в переменную клипа popup_mc клипа content_mc динамического поля date1 содержимое нужной переменной внешнего файла + код аттачМуви(popup_mc)".
И такой код к каждой кнопке, только с разными значениями переменной содержимого текстового файла. Таким образом у меня получился бы только 1 текстовик и только небольшие кусочки кода на будущих кнопочках.
Такое реально сделать? Хотябы чисто теоретически? Если да, то подскажите, как реализовать на практике

Разобралась!
Если вдруг у кого-то случится подобная ситуация, покажу как сделала я:
на кнопках "Подробнее" на главной сцене я только писала следующий код:
Код:
on (press) {
	this.attachMovie("popup_mc", "window", 0);
	window._x = 385;
	window._y = 500;
}
on (release) {
    loadText = new LoadVars();
    loadText.load("news.txt");
    loadText.onLoad = function(success) {
        if (success) {
            _root.window.text_mc.date1.text = true;
            _root.window.text_mc.date1.text = this.date1;
        }_
    };
}
где значение, выделенное красным я просто заменяла на нужное из моего текстового файлика для каждой кнопки и все работает!

Только появился другой вопрос...как можно дать зависимость длины динамического поля от числа загруженных в него строк (чтоб автоматом менялось и не было при скроллинге в конце текста большого колличества пустого места)заговорила стихами, учитывая, что я скролл прописыала опираясь на точные координаты по оси у.
Код:
text_mc.setMask(mask_popup_mc)
var scrollUpper:Number = -116;
var scrollLower:Number = 113;

var textLower:Number = -116;
var textUpper:Number = -376;
var scrollRange:Number = scrollLower - scrollUpper;
var textRange:Number = textLower - textUpper;

function scroll(){
	var moved:Number = scroller_mc._y - scrollUpper;
	var petMoved:Number = moved/scrollRange;
	var textMove:Number = petMoved*textRange;
	text_mc._y = textLower - textMove;
}

scroller_mc.onPress = function(){
	this.startDrag(false,this._x,scrollUpper,this._x,scrollLower);
    this.onMouseMove = scroll;
	}
scroller_mc.onRelease = scroller_mc.onReleaseOutside = function(){
	this.stopDrag();
	this.onMouseMove = null;
}
mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
   text_mc._y += delta*3;
   scroller_mc._y -= delta*3;
   if(text_mc._y<-376){
	   text_mc._y = textUpper;}
   if(text_mc._y>-116){
	   text_mc._y= textLower;}
if(scroller_mc._y>113){
	scroller_mc._y = scrollLower;}
if(scroller_mc._y<-116){
	scroller_mc._y = scrollUpper;}
}
Mouse.addListener(mouseListener);
просто я написала
Код:
date1.autosize =  true;
и изменений не произошло никаких. Думаю, что из-за привязки к координатам по у( типа динамическое поле может быть и сокращается, но скролл тащит это самое поле до прописанных ему -376 по у.) Как быть?


Последний раз редактировалось iNils; 03.11.2008 в 15:13.
Старый 03.11.2008, 14:55
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Честно говоря, я бы сделал все по-другому((((
Во-первых, использовал бы xml вместо текста и loadVars. Да, понимаю что с этим придется разбираться... Но оно того стоит.
В Вашем же варианте все можно было сделать проще - текстовик с блоками новостей загрузить ОДИН(!) раз, считать блоки текста в массив и обращаться к ним при нажатии на кнопки.
Что касается "жесткого" скроллера - это, конечно, не порядок.
Посмотрите темки, если время разбираться еще есть) Если нет - обязательно посмотрите потом, скроллер такая штука что в каждом сайте используется, надо научиться их делать. Удачи!
скроллер с исходниками:
http://flasher.ru/forum/showthread.php?t=111891
объяснение формулы)) :
http://www.flasher.ru/forum/showpost...48&postcount=6
__________________
Reality.getBounds(this);

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

Регистрация: Mar 2007
Сообщений: 20
Отправить сообщение для Christina с помощью ICQ
Wolsh, дык я не спорю, что xml рулит Но есть оч весское объяснение, почему я использую txt, Я - НУБ =))))))Честно говоря, у меня огромное желание всему научиться, поэтому с удовольствием изучу и впоследствии использую исходники, которые вы мне указали. Просто у меня грядет создание галереи и там-то вот я не знаю, как без xml оботись. Ибо не хочу грузить фотки и превьюшки в флэш. Хочу просто в xml указать пути, а из флеша обратиться к этому файлику и грузить картинки в пустой мувик с програмным уменьшением размера (для превью).
Просто это первый мой сайт во флэш.
Но в данный момент у меня огромные проблемы с загрузкой xml...я мало разобралась, да и спросить не у кого, только здесь на форуме.
Если б я жила у себя на Родине, то давно пошла на курсы!

В любом случае спасибо! Если появятся проблемы и затруднения с Вашео разрешения я тут еще напишу

Добавлено через 2 часа 20 минут
А меня заинтересовало, почему один раз грузить все в массив?какое преимущество это даст?


Последний раз редактировалось Christina; 03.11.2008 в 15:45.
Старый 03.11.2008, 20:29
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Довольно странно загружать весь ТХТ каждый раз, когда нужна одна строчная переменная из него. Уже загруженная! У некоторых людей отключен кэш в браузере, и Ваш файл действительно будет грузиться. В конце концов, это просто нелогично, неоптимально и не по-взрослому)) Загрузили один раз и пользуйтесь. Массив - да просто для удобства. Можно и по-другому - каждый раз обращаться к объекту loadVars, дергая из него нужную переменную-текст, или разбить полученные данные на отдельные переменные, не собранные в массив... В целом как угодно, но лучше когда однотипные данные хранятся вместе и проиндексированы. Т.е. массив.
__________________
Reality.getBounds(this);

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

Регистрация: Mar 2007
Сообщений: 20
Отправить сообщение для Christina с помощью ICQ
Здравствуйте еще раз!
Опять нужна помошь.
Делаю галлерею с превьюшками, при клике на которых раскрывается фото.
Делаю не через xml, потому что пока не умею. А проблема собственно вот в чем:
при клике на превьюшке должна проигрыватся сначала анимация открытия фона окна для фото, а потом должна подгрузиться сама фото. Но на деле, фото и анимация начинают грузиться одновременно.(открывается фото, а за ним играется анимация появления фона). Фото подгружается в пустой мувик photo. Но если я смещаю кадр с этим мувиком на любой , кроме первого фрейма, фото перестает грузиться. А мне нужно чтоб загрузка фото начиналась с 25 кадра.
Вопрос такой, как не меняя сильно того, что есть, начать загрузку фото, после проигрыша анимации раскрытия фона окна.

Файл с исходником прикрепляю.

Заранее благодарю за любую помощь

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

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

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


 


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


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