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

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

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

Регистрация: Sep 2001
Сообщений: 6,162
По умолчанию Где ошибка

Итак код следующий:

bb=random(7);
aa=int(bb);


if(aa==0){
aaa._y++
aaa._x--
}
else if(aa==1){
aaa._y--
}
else if(aa==2){
aaa._y--
aaa._x++
}
else if(aa==3){
aaa._x--
}
else if(aa==4){
aaa._x++
}
else if(aa==5){
aaa._x--
aaa._y++
}
else if(aa==6){
aaa._y++
}
else if(aa==7){
aaa._y++
aaa._x++
}


ааа почему-то всегда движется в левый нижний угол. Почемууу???

Хэлпните плз.

Старый 07.10.2002, 02:50
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 2  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
—рандом(7) выдает:
0,1,2,3,4,5,6
то есть else if(aa==7){ в любом случае не работает...

и еще замечание:
bb = random(7); выдает целое число
то есть aa=int(bb); инт() здесь незачем...


Последний раз редактировалось Nox Noctis; 07.10.2002 в 02:53.
Старый 07.10.2002, 02:59
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 3  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
и еще (япросто подписал направления):
Код:
	if (aa == 0) {
		// left down
		aaa._y++;
		aaa._x--;
	} else if (aa == 1) {
		// up
		aaa._y--;
	} else if (aa == 2) {
		// right up
		aaa._y--;
		aaa._x++;
	} else if (aa == 3) {
		// left
		aaa._x--;
	} else if (aa == 4) {
		// right
		aaa._x++;
	} else if (aa == 5) {
		// left down
		aaa._x--;
		aaa._y++;
	} else if (aa == 6) {
		// down
		aaa._y++;
	} else if (aa == 7) {
		// right down
		aaa._y++;
		aaa._x++;
	}
влево+вниз встречается два раза...
то есть это двежение НЕ равновероятно всем остальным...
ты я так понял хотел добиться дрожания объекта на одном месте, да ?
тогда гораздо проще засечь его начальные координаты и сделать:

_y = defaultY + random(2)||-1;
_x = defaultX + random(2)||-1;

гораздо проще, правда ? :))

Старый 07.10.2002, 03:03
Artem Brigert вне форума Посмотреть профиль Найти все сообщения от Artem Brigert
  № 4  
Artem Brigert
Banned

Регистрация: Sep 2001
Сообщений: 6,162
Пасиб
я хотел сделать хатичное движение
Чтобы мувик двигался непонятно куда, а он зараза по ему только понятному направлению пошёл

Старый 07.10.2002, 03:15
Artem Brigert вне форума Посмотреть профиль Найти все сообщения от Artem Brigert
  № 5  
Artem Brigert
Banned

Регистрация: Sep 2001
Сообщений: 6,162
Блин я сам напорол

if(aa==0){
aaa._y++
aaa._x--
}

ведь при нуле у меня подразумевалось движение в верхний левый угол

Значит

_y--
_x--

Старый 07.10.2002, 03:29
Artem Brigert вне форума Посмотреть профиль Найти все сообщения от Artem Brigert
  № 6  
Artem Brigert
Banned

Регистрация: Sep 2001
Сообщений: 6,162
Кстати Noctis не подскажеш как сделать, чтобы мувик плавно летал по всему ролику?
Я что-то не допру никак.

Только принцип дальше я сам

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

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Давай уясним, что движение в левый нижний угол - это увеличение _У и уменьшение _Х. Правильно?
Теперь рассмотрим твой код, и посчитаем, сколько раз мы заставляем увеличиваться _Х и _У, и сколько раз уменьшаться.
Сразу условимся, что этот блок кода
else if(aa==7){
aaa._y++
aaa._x++
}
ты написал зря, т.к. аа никогда не примет значение 7. (Протрассируй аа для проверки.)
Из 7 условий, у тебя 2 увеличения _Х и три уменьшения.
И 3 увеличения _У и всего два уменьшения.
То есть, ты сам заставляешь постепенно передвигаться "ааа" в левый нижний угол. Удивляться нечему.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

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

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Блин, пока я писал ответ, Nox Noctis уже ответил. И даже переписку завязал. Ну что ж, кто не успел, тот протютюкал.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 07.10.2002, 03:52
Artem Brigert вне форума Посмотреть профиль Найти все сообщения от Artem Brigert
  № 9  
Artem Brigert
Banned

Регистрация: Sep 2001
Сообщений: 6,162
ты не расстраивайся. Я тут ещё вопрос задал.

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

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Успокоил. Тогда получай исходник. Может быть, он тебе поможет. Если тебе достаточно одного объекта, поставь n = 1 и не дублируй МС. Разберешься.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

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

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

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


 


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


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