Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Статьи (http://www.flasher.ru/forum/forumdisplay.php?f=101)
-   -   Знакомство с Flash 9 и ActionScript 3.0 на примере создания аркадной игры (http://www.flasher.ru/forum/showthread.php?t=83431)

motor4ik 08.10.2006 13:17

нет, 2 по-моему, просто в EAS2.0 про ООП , классы хорошо изложено

Nirth 08.10.2006 18:39

Просто ты написал "вторая книга", а у него их больше =)

andr64 11.10.2006 15:18

маленькое замечание:

просто бросилось в глаза строка
num = Math.floor(Math.random()*totalFrames)+1
наверное правильние будет так
num = Math.round(Math.random()*(totalFrames-1))+1

а вообще статься хорошая. :)

MerlinTwi 11.10.2006 16:05

Цитата:

Сообщение от andr64
маленькое замечание:
num = Math.floor(Math.random()*totalFrames)+1
наверное правильние будет так
num = Math.round(Math.random()*(totalFrames-1))+1

Вы не правы, в вашем варианте вероятность генерации первого и последнего фрейма ниже, чем остальных. Проверьте сами:
Код:

var _totalFrames:int = 10;
var hash:Array = new Array();
var i:int, num:int;
// Первый вариант
// Обнуляем массив
for (i=1; i<=_totalFrames; i++) hash[i]=0;
// Собираем статистику
for (i=0; i<1000000; i++) {
        num = Math.floor(Math.random()*_totalFrames)+1;
        hash[num]++;
}
// Результат
trace("Result 1:");
for (i=1; i<=_totalFrames; i++) {
        trace(i+" = "+Math.round(hash[i]/1000000*100)+"%");
}

// Второй вариант
// Обнуляем массив
for (i=1; i<=_totalFrames; i++) hash[i]=0;
// Собираем статистику
for (i=0; i<1000000; i++) {
        num = Math.round(Math.random()*(_totalFrames-1))+1;
        hash[num]++;
}
// Результат
trace("Result 2:");
for (i=1; i<=_totalFrames; i++) {
        trace(i+" = "+Math.round(hash[i]/1000000*100)+"%");
}


motor4ik 11.10.2006 16:35

интересно было бы почитать упоминающуюся статью про 21 оптимаьлный кадр

andr64 11.10.2006 17:05

Цитата:

Сообщение от MerlinTwi
Вы не правы, в вашем варианте вероятность генерации первого и последнего фрейма ниже, чем остальных. Проверьте сами:

А, да. Я почему то подумал что random возвращает 0<=n<=1, а на самом деле 0<=n<1. :away: бывает =)

Aleksey123 08.11.2006 15:40

А как скомпилировать??

Ошибки:
main\comet.as : Line 6, Column 37 : [Compiler] Error #1017: The definition of base class basic_object was not found.

ReferenceError: Error #1065: Variable preloader is not defined.

ReferenceError: Error #1065: Variable background is not defined.

И т.д. Как исправить? Пока что на экране мигают два кадра.

Agro 28.01.2007 14:06

MerlinTwi, почему в классе 'main.background' ты использовал stage.addEventListener(Event.MOUSE_LEAVE, handleMouseUp), а не stage.addEventListener(Event.MOUSE_OUT, handleMouseUp)?

MerlinTwi 31.01.2007 00:25

Цитата:

Сообщение от Agro
MerlinTwi, почему в классе 'main.background' ты использовал stage.addEventListener(Event.MOUSE_LEAVE, handleMouseUp), а не stage.addEventListener(Event.MOUSE_OUT, handleMouseUp)?

Наверное потому, что событие MouseEvent.MOUSE_OUT для Stage не работает... а Event.MOUSE_LEAVE оповещает об уходе мышки за пределы сцены.
Если ты о том, как отловить уход мышки при нажатой кнопке, то можно слушать MouseEvent.MOUSE_MOVE и проверять координаты мышки, ушла она за края сцены или нет, но это стало работать не так давно, с какой-то версией flash плеера.

DRAGOnoid 13.05.2007 12:18

страничка перестала быть доступной - что делать ? Т_Т


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

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