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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 11.04.2004, 23:36
rojok-online вне форума Посмотреть профиль Отправить личное сообщение для rojok-online Найти все сообщения от rojok-online
  № 1  
rojok-online
 
Аватар для rojok-online

Регистрация: Sep 2003
Адрес: Санкт-Петербург
Сообщений: 166
Отправить сообщение для rojok-online с помощью ICQ
Attention 2 вопроса в одном!

Привет!
Вообще голова не соображает.. ((( в чем проблемы

1.Хотел сделать как бы кнопки с простенькой анимацией... И не получатеся только одна штука ( ---- При наведении двигается треугольничек, а при отведении мышки от кнопки треугольничек останавливается. Когда нажимаешь то треагольничек меняет цвет и двигается... Проблема в том что при нажатии на другую кнопку на прошлой происходит анимация и только останавливается когда убираешь с той кнопки мышку... ( Тобишь проигрывается 2 анимации, хотя должна проигрываться одна...

2. После "// temp" идет код который странно как- то работает... Если его поставить перед "// Buttons", то он вообще не работает, а если в конец, то в "// Buttons" пропадают 1, 2 и 3 кнопка... В чем проблема?
Код:
//Buttons
button_name = ["button # 1", "button # 2", "button # 3", "button # 4", "button # 5", "button # 6", "button # 7"];
osy = [85, 110, 135, 160, 185, 210, 235];
osx = [10, 10, 10, 10, 10, 10, 10];
for (i=0; i<button_name.length; i++) {
	attachMovie("button", "button"+i, i);
	this["button"+i]._x = osx[i];
	this["button"+i]._y = osy[i];
	this["button"+i].button.text = button_name[i];
	this["button"+i].tr.stop();
	this["button"+i].onRollOver = function() {
		this.tr.play();
	};
	this["button"+i].onPress = function() {
		this.tr.gotoAndPlay(13);
		_root.lastbutton = this._name;
	};
	this["button"+i].onRollOut = this["button"+i].onRelease=function () {
		if (_root.lastbutton == this._name) {
			this.tr.play();
		} else {
			this.tr.gotoAndStop(1);
		}
	};
}
// temp
x = [20, 278.5, 536];
for (i1=0; i1<x.length; i1++) {
	with (attachMovie("mini", "mini"+i1, i1)) {
		_x = x[i1];
		_y = 300;
	}
}

(сори если описал вопросы непонятно)

Старый 12.04.2004, 00:39
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 2  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Сложно разобраться, приколи исходник или напиши подробные коменты

Старый 12.04.2004, 00:50
artfla$her вне форума Посмотреть профиль Отправить личное сообщение для artfla$her Найти все сообщения от artfla$her
  № 3  
artfla$her
 
Аватар для artfla$her

Регистрация: Apr 2004
Адрес: Петербург
Сообщений: 549
Отправить сообщение для artfla$her с помощью ICQ
Короче, ты чего-то намудрил и сам себя запутал.... Не понимаю, что вы так все мудрите? Во-первых, лучше дублируй клип, так как, если я не ошибаюсь, при attach-е не все вложенные в attach-ируемый клип объекты тоже дублируются - это надо производить отдельно. Проще сделай так
for(i=0;i<button_name.length;i++){
duplicateMovieClip("button", "button"+i, i);
setProperty("button"+i, _x, нужный x)
setProperty("button"+i, _y, нужный y)
//дальше вбиваем текст в кнопки и проч.
//задаешь события, как и раньше
}
//и прочая дурь
Кнопки исчезают у тебя потому, что у них совпадают уровни!
У клипов не должны совпадать уровни (уровень задается третьим параметром в функции). Смотри, у тебя вначале кнопки приобретают уровни 0,1,2,3,4,5,6, а потом эти "mini" тоже уровни 0,1,2 (и три кнопки исчезают). Если бы у тебя массив x был большей длины, исчезло бы все... Я рекомендую создать переменную, в которой будет храниться номер самого высокого уровня. Например
allDepths=0
И потом третьим параметром функция дублирования/аттачирования использовать allDepths (только не забывай прибавлять к нему 1). То есть
К примеру
allDepths++
duplicateMovieClip("button", "button"+i, allDepths);
setProperty("button"+i, _x, нужный x);
setProperty("button"+i, _y, нужный y);
и
allDepths++
attachMovie("mini", "mini"+i1, allDepths);
Таким образом избежишь ошибок....
Ну а с остальным я не разобрался - уж извини, лень. Тем более что надо смотреть все сразу, вместе с исходником, или переделывать нафиг весь код.... Попробуй с тем, что я сказал, может, заработает? Или пиши конкретнее, разбей код на участки, тестируй - а то так сложно понять, что там за проблемы.

Старый 12.04.2004, 00:52
dekud вне форума Посмотреть профиль Отправить личное сообщение для dekud Найти все сообщения от dekud
  № 4  
dekud
 
Аватар для dekud

Регистрация: May 2003
Адрес: Питер - город на Неве
Сообщений: 69
Ну одну ошибку сразу вижу...

attachMovie("button", "button"+i, i);

attachMovie("mini", "mini"+i1, i1)

i и i1 от 0 до кагого то значения

depth'ы у тебя получаются одинаковыми....а они должны быть разными (уникальными)

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

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Стоп, господа. Я так печатать не успею. dekud прав - поскольку создание происходит в цикле, то depth'ы должны различаться, например, во втором случае лучше сделать так:

attachMovie("mini", "mini"+i1, i1+50)

Что бы упростить код предлагаю свойства объектам передавать при создании:

_root.attachMovie("button", "button"+i, i,{_xsx[i],_ysy[i]});


Цитата:
Во-первых, лучше дублируй клип, так как, если я не ошибаюсь, при attach-е не все вложенные в attach-ируемый клип объекты тоже дублируются
artfla$her, ошибаешься. Дублируется все.
Я лично тоже считаю, что ни к чему плодить на сцене лишние объекты-пустышки, которые нужны только для дублирования.
А функцию setProperty() вообще забудь как страшный - это было в пятом флэше, а на дворе - MX2004.

2rojok-online. Похоже, что вся твоя проблема - в дублировании depth'ов.
Да и еще, имхо with в последнем цикле - не к месту.
__________________
судью - на мыло, из игроков - вить веревки.

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

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Код:
_root.attachMovie("button", "button"+i, i,{_xsx[i],_ysy[i]});
Прикольно он строку отконвертил
__________________
судью - на мыло, из игроков - вить веревки.

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

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Код:
_root.attachMovie("button", "button"+i, i,{_x:sx[i],_y:sy[i]});
Вот блин, с третьей попытки. Впредь буду пользоваться предпросмотром
__________________
судью - на мыло, из игроков - вить веревки.

Старый 12.04.2004, 01:52
artfla$her вне форума Посмотреть профиль Отправить личное сообщение для artfla$her Найти все сообщения от artfla$her
  № 8  
artfla$her
 
Аватар для artfla$her

Регистрация: Apr 2004
Адрес: Петербург
Сообщений: 549
Отправить сообщение для artfla$her с помощью ICQ
Dindin, интересный способ задания свойств.... Не знал... Я вообще 2004-ый плохо знаю. Раньше такого не было. Спасибо.

Старый 12.04.2004, 01:56
artfla$her вне форума Посмотреть профиль Отправить личное сообщение для artfla$her Найти все сообщения от artfla$her
  № 9  
artfla$her
 
Аватар для artfla$her

Регистрация: Apr 2004
Адрес: Петербург
Сообщений: 549
Отправить сообщение для artfla$her с помощью ICQ
А насчет дублирования.... Я говорил про attach, так там у меня лично почему-то при аттаче создавался лишь внешний клип, а все вложенные в него игнорировались. Черт знает почему. Может, объяснишь, как можно сделать полный attach? Или я чего-то неправильно делаю...

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

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Пришли исходник - посмотрим
Да, кстати, задание свойств при инициализации еще в MX было.
__________________
судью - на мыло, из игроков - вить веревки.

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

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

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


 


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


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