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

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

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

Регистрация: Aug 2005
Сообщений: 56
По умолчанию очень простой скрипт, но уже голову сломал.

Проблема такая:
Нужно, чтобы сначала прозрачность одного объекта уменьшилась, когда она становится равна 5 должна увеличиться прозрачность 2-го объекта, а когда она доходит до 95 должен начать двигаться 3-й.
Скритп такой:
=============================
ob_1.alpha=100
ob_2.alpha=0
ob_3._x=600

OnEnterFrame=function (){
ob_1.alpha-=1
}

if (ob_1.alpha=5){
OnEnterFrame=function (){
ob_2.alpha+=1
}
}

if (ob_2.alpha=95){
OnEnterFrame=function (){
ob_3._x-=1
}
}
==========================
Проблема в том, что при добавлении условий ролик воспроизводится
каждый раз быстрее.
Может проблема в вызове каждый раз OnEnterFrame ?
Подскажите пожалуйста ...
Просто до этого скрипт был расписан в одном длинющем условии (там еще штук 10 потом добавляется), потом я решил его раскидать ..
Вот теперь окончательно запутался ..


Последний раз редактировалось Smirnoff; 06.09.2005 в 15:30. Причина: торопился, ошибок в посте насажал ..
Старый 06.09.2005, 16:01
Leezard вне форума Посмотреть профиль Отправить личное сообщение для Leezard Посетить домашнюю страницу Leezard Найти все сообщения от Leezard
  № 2  
Ответить с цитированием
Leezard
 
Аватар для Leezard

Регистрация: Oct 2004
Сообщений: 141
На объект 1 вешаем:
this.onEnterFrame=function (){
this.alpha-=1;
if (this.alpha=5){
_root.ob_2.onEnterFrame=function (){
alpha+=1;
if (this.alpha=95){
_root.ob_3.onEnterFrame=function (){
this._x-=1;
}
delete this.onEnterFrame();
}
delete this.onEnterFrame();
}

Не уверен в синтаксисе, но принципиально работать будет.

Старый 06.09.2005, 16:03
Dimchansky вне форума Посмотреть профиль Отправить личное сообщение для Dimchansky Посетить домашнюю страницу Dimchansky Найти все сообщения от Dimchansky
  № 3  
Ответить с цитированием
Dimchansky

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
ob_1._alpha=100
ob_2._alpha=0
ob_3._x=600

ob_1.onEnterFrame=function (){
(this._alpha <= 5) ? this._alpha-- : ob_2.alpha++;
(ob_2._alpha >= 95) ? ob_3._x-- : ob_2._alpha--;
}

вроде так


Последний раз редактировалось Dimchansky; 06.09.2005 в 16:06.
Старый 06.09.2005, 16:08
Leezard вне форума Посмотреть профиль Отправить личное сообщение для Leezard Посетить домашнюю страницу Leezard Найти все сообщения от Leezard
  № 4  
Ответить с цитированием
Leezard
 
Аватар для Leezard

Регистрация: Oct 2004
Сообщений: 141
Ух ты а что это за запись, объясни пожалуйста
(this._alpha <= 5) ? this._alpha-- : ob_2.alpha++;

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

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
Leezard, Smirnoff

не забудьте, что операция сравнения - это ==, а не =

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

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
Leezard тернарная операция (условие) ? действие_1 : действие_2

если условие истинно, то выполняется действие_1 иначе действие_2

Старый 06.09.2005, 16:20
Dimchansky вне форума Посмотреть профиль Отправить личное сообщение для Dimchansky Посетить домашнюю страницу Dimchansky Найти все сообщения от Dimchansky
  № 7  
Ответить с цитированием
Dimchansky

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
сейчас только проверил

ob_1._alpha=100;
ob_2._alpha=0;
ob_3._x=10;

ob_1.onEnterFrame=function (){
(this._alpha >= 5) ? this._alpha-- : ob_2._alpha++;
(ob_2._alpha >= 95) ? ob_3._x-- : ob_2._alpha=ob_2._alpha;
}

Старый 06.09.2005, 16:29
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 8  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
ой! и я свои 2954 байт вставлю!!!
Вложения
Тип файла: zip ginseng21.zip (2.9 Кб, 43 просмотров)

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

Регистрация: Oct 2004
Сообщений: 141
работает, выглядит компактно. ляпота.

Старый 06.09.2005, 16:43
Smirnoff вне форума Посмотреть профиль Отправить личное сообщение для Smirnoff Найти все сообщения от Smirnoff
  № 10  
Ответить с цитированием
Smirnoff

Регистрация: Aug 2005
Сообщений: 56
всем спасибо, кажется все понял ..
но назрел еще вопрос, выношу в новую тему ..

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

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

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


 


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


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