Как создавать свои Flash-игры, подобные Angry Birds и World of Goo?
Box2D - это библиотека, которая моделирует физическое поведение твердых тел в двумерном пространстве. Программисты могут использовать ее в своих играх, чтобы сделать...
Клик - добавить шар
<-- и --> двигать шары
Скажу сразу, такую красочную работу мы делать не будем, я расскажу только о том, как находить столкновения между шарами, так что бы они не проникали друг в друга.
Это мой первый урок и возможно не всё будет доступно изложено, но я думаю вы справитесь.
Комментарии
Классная дикция. Хорошо обьясняешь :)
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -https://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
Серьёзно? Спасибо Fly!
Отличный урок, продолжай в том же духе)) Все очень доходчиво объяснил. Надеюсь пригодится. Если больше 400 шариков натыкать fps падает =/
samana, мне тоже очень понравилось. У вас реально хорошо получается.
Может хотите поучавствовать в чем нибудь более интересном и денежном?
Если есть какие нибудь вопросы или пожелания - пишите.
Отличный урок!! Очень понравилась озвучка!
а урок немного доработать бы.. я добавил много шариков и они стали налазить друг на друга..
Спасибо Heilfuhrer! У меня fps падает уже при 60 шарах (комп старых жуть).
vitkuz Вам тоже спасибо! Я на самом деле именно после этой денежной статьи, решил попробовать сделать урок, посмотреть как получится, что скажут люди. Предложение заманчивое, надо хорошо продумать и понять смогу ли осилить. Надеюсь получится!
SarGun спасибо! Конечно этот урок далеко не идеальный способ для "физического" поведения шаров, скорее самый быстрый. А при большом количестве, шары начинают бунтовать и шевелится )
красавчик
<i>Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете</i><br /><b>Стив Макконнел. "Совершенный код"</b>
switcher
САМАНА ТЫ ЛУЧШИЙ!!!! СПАСИБО ТЕБЕ ОГРОМНОЕ!!!!
А как сделать что бы пол(у тебя лёд)отражал шарики как у тебя?
Programmer Action Script 3.0
Валрера Спасибо! Отражение сделано не сложно, я с помощью битмапДаты делаю снимок (draw) нужной области сцены, а битмапу переворачиваю по вертикали, и ставлю в нужное место.
Спасбо)))
Programmer Action Script 3.0
Спс хороий урок и очень хорошо все обьясняется
хорошо! только если набрать дофига шаров на компе начнется самый настоящий апокалипсис: одни за другими начинают тормозить браузер, закачка, курсор...
урок пока не видел, это просто результат работы, которой получится оценил ^_^
Прячься, это админ...
CuCaDMuH --> Конечно, чем больше всего, тем больше компьютер думает, в общем-то и логично.
Pryxan --> Спасибо )
Аффтар - красавчик.
Буду учиться..
Всем брать пример!
жду новых работ:)
samana как с вами связаться? если есть можно icq или skype в лс плз
Asad - Спасибо, будем стараться!
Урок интересный, сделан качественно. Единственное мне не очень понравился просчет отталкивания шаров, много лишних расчетов.
Я реализовал так:
public function hitBall():void{
for(var i=0; i<allBalls.length;i++){
var curBall=allBalls[i];
var minDist=curBall.r+r;
var dist=distance(curBall);
if(curBall!=this && dist<minDist){
var collisionDist=(dist-minDist)/2;
var dx=(curBall.x-x)/dist*collisionDist;
var dy=(curBall.y-y)/dist*collisionDist;
x+=dx; xspeed+=dx;
y+=dy; yspeed+=dy;
curBall.x-=dx; curBall.xspeed-=dx;
curBall.y-=dy; curBall.yspeed-=dy;
}
}
}
public function distance(obj:Ball):Number{
var dx=obj.x-x;
var dy=obj.y-y;
return Math.sqrt(dx*dx+dy*dy);
}
Отличие в том, что меньше использовались функции библиотеки Math.
Если мои расчет кривой, прокомментируйте пожалуйста где
Ben - всё правильно, конечно оптимизируйте если есть возможность, ещё несколько fps можно добавить, проверяя сначала на hitTestObject, а уже потом делать все расчёты, работает ещё быстрее, проверял.
Офигенный урок. Все понятно даже для таких нубов как я
есть пара интересных моментов. сенкс за урок.
но если честно разачаровала конуовка - не расказал хачем почему и откуда формулы:)
вдохновил на написание своих уроков в том в чем сам шарю по AIR
ps: Спрашивайте кому что интересно.
gandolf - Спасибо!
mitien - Согласен с вами, практически не объяснил. Когда сам дошел до этого момента, понял что если начать рассказывать про косинусы и синусы для тех кто их не знает совсем, то на это уйдёт много времени, по этому представил их как способ управлять направлением объекта.
В приложение есть пару недостатков!!! Пишите в личку если хотите знать каких!
Anti_Karhad - повторюсь, этот способ столкновения совершенно не идеальный, и далеко не единственный, и абсолютно не оптимизированный. Этот урок для того, что бы натолкнуть на какие нибудь мысли людей в этом направлении.
Да, конечно, напишите недостатки на ваш взгляд, пусть и другие увидят их, будем набираться опыта все вместе.
samana,
Этот урок для того, что бы натолкнуть на какие нибудь мысли людей в этом направлении.
Натолкнул, и еще как! Решусь показать свою самую первую работу - до этих шариков Flash меня как-то не цеплял. После них вдруг воодушевился и рисовал целую неделю - пока разобрался с принципами анимации, пока освоился...
Первый вариант я только повторил урок, ну и пририсовал шарикам блики и сделал их немного акварельными.
А вот второй вариант - воплотил в соударения мат.модель упругого удара для реализации бильярда. Вот что получилось. На лузы терпения не хватило, так что шары не падают, но издают звуки при соударениях со столом и бортами.
Картинку стола, конечно, содрал - да простит меня mail.ru
vals - Здорово, рад что помог воодушевиться, пусть вдохновение не покидает вас!!!
Очень приятно осознавать, что помог кому-то.
вот только не могу сообразить как сделать вращающийся шар, с номером, или с полоской... простое 3D преобразование, боюсь, не поможет - надо придумывать что-то другое, типа полной модели объемного шара...
либо какие сферические искажения деталей шара...
есть идеи?
Очень приятно было смотреть урок. Правда есть несколько заметок.
Ключевое слово package указывает нахождение класса в его пакете (иерархии директорий), если класс находится в той же директории, где и используется основным файлом то пакета нет и ничего после package не указывается.
public - это не открытый класс, а публичный, доступный для использования из всех сторон (наследуемых классов, из самого класса, из других классов, другого кода). Это ключевое слово одно из составляющих инкапсуляции (PPP - public private protected).
Во флеше можно сразу получить готовый шаблон класса, для этого создается не AS файл, а ActionScript 3.0 Class. Если у пользователя Flash CS установлен Flash Builder, то можно синхронизировать его с Flash и писать созданный во Flash класс в нем.
Круглые скобки в конструкторе существуют специально для того, чтобы указать возможные передаваемые в конструктор параметры, которые в дальнейшем могут в нем использоваться. Эти параметры указываются в конструкции new ClassName(param...), где params и есть эти параметры.
В начале урока не представился :-(
А в первом уроке спалился, я заметил подготовленный текст урока :D
Но в этом нет ничего страшного, я тоже так часто делаю, бывает язык просто не проворачивается.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Neirol - Согласен и с вами, терминологию (package,public) особо не объяснил, суть урока была в другом.
А в первом уроке спалился, я заметил подготовленный текст урока :D
:) Есть такое... но это было только в начале, после нескольких абзацев, перестал это делать.
Объяснять терминологию не обязательно, можно просто правильно выразиться и все.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Страницы