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

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

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

Регистрация: Oct 2008
Сообщений: 3
Attention Движение маски

Подскажите новичку как сделать такой цикл.

имеется квадрат начальные координаты неизвестны.
надо сделать чтобы при запуске мувика квадрат начал двигаться по оси х примерно на +100, а при достижении +100 возвращался в изначальное положение и начинал все заново. Вот такой вот бесконечный цикл.

если уже где то обсуждалось прошу не казнить я просто не смог найти.

Заранее благодарен за ответ.
__________________
Все что не происходит то происходит к лучшему...
Султан-Востока

Старый 04.10.2008, 15:00
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 2  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
Код:
var dir = 1;
onEnterFrame = function(){
if(mc._x > max_x ) dir =  -1;//delta_x- приращение по x;
if(mc._x < min_x ) dir = 1;
mc._x += dir*delta_x;
//max_x, min_x - значение крайней точки по x
//mc - ваш клип
}


Последний раз редактировалось flash33; 04.10.2008 в 15:09.
Старый 04.10.2008, 15:30
Skiminok вне форума Посмотреть профиль Отправить личное сообщение для Skiminok Найти все сообщения от Skiminok
  № 3  
Ответить с цитированием
Skiminok
 
Аватар для Skiminok

Регистрация: Oct 2008
Сообщений: 3
вставил этот код

Цитата:
var dir = 1;
onEnterFrame = function(){
if(blesk._x > 100 ) dir = -1;//delta_x- приращение по x;
if(blesk._x < 1 ) dir = 1;
blesk._x += dir*delta_x;
}
и нет реакции. Может я что-то сделал не так?

честно говоря я не могу понять принцип этого цикла...

как мне кажется должно быть что-то типа такого

Код:
val dir = 1 //как я понял это объявление переменной
onEnterFrame = function(){
if (blesk._x < 100) dir=+1;
if (blesk._x > 99) dir = -100;
blesk._x += dir*delta_x;
}
Какую роль играет delta_x и почему она не описана?
если delta_x это итоговая сумма всех прибавлений то почему стоит знак *, а не +?

разъясните пожалуйста получше.
__________________
Все что не происходит то происходит к лучшему...
Султан-Востока


Последний раз редактировалось iNils; 04.10.2008 в 16:55.
Старый 04.10.2008, 16:56
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Skiminok, для оформления своего кода надо использовать теги [code][/code] и когда хотите что-то добавить, используйте кнопку и редактируйте последнее сообщение, а не создавайте несколько сообщений подряд.
Читайте правила форума и разделов.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.10.2008, 17:40
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 5  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
delta_x - это приращение координаты х вашего клипа за 1 фрейм. Задайте его больше 0, иначе клип будет на месте. Если клип ушел далеко вправо (blesk._x > 100 ) меняем направление назад (множитель dir отрицательное) и наоборот, если слишком далеко влево (blesk._x < 1) - направление положительное.

Старый 04.10.2008, 18:45
Skiminok вне форума Посмотреть профиль Отправить личное сообщение для Skiminok Найти все сообщения от Skiminok
  № 6  
Ответить с цитированием
Skiminok
 
Аватар для Skiminok

Регистрация: Oct 2008
Сообщений: 3
Уважаемый Flash33 если тебя не затруднит не мог-бы ты написать исходник с описанием где что происходит. А то честно говоря я не могу догнать как это сделать.

Заранее благодарен за ответ.
__________________
Все что не происходит то происходит к лучшему...
Султан-Востока

Старый 04.10.2008, 18:58
flazher вне форума Посмотреть профиль Найти все сообщения от flazher
  № 7  
Ответить с цитированием
flazher
Banned

Регистрация: Apr 2008
Адрес: Hm...will it blend?
Сообщений: 303
Вот пожайлуста
Вложения
Тип файла: zip example.zip (5.0 Кб, 45 просмотров)

Старый 04.10.2008, 21:43
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 8  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
flazher, ты сам до конца не понял о чем я и переврал. Вот исходник разжеванный до немогу(swf-8), если уж и этого не поймете, добро пожаловать в среднюю школу
Вложения
Тип файла: rar move.rar (5.3 Кб, 40 просмотров)

Старый 05.10.2008, 08:31
flazher вне форума Посмотреть профиль Найти все сообщения от flazher
  № 9  
Ответить с цитированием
flazher
Banned

Регистрация: Apr 2008
Адрес: Hm...will it blend?
Сообщений: 303
Цитата:
если уж и этого не поймете, добро пожаловать в среднюю школу
Я сам учусь в средней школе!

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

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

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


 


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


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