Как создавать свои Flash-игры, подобные Angry Birds и World of Goo?
Box2D - это библиотека, которая моделирует физическое поведение твердых тел в двумерном пространстве. Программисты могут использовать ее в своих играх, чтобы сделать...
Клик - добавить шар
<-- и --> двигать шары
Скажу сразу, такую красочную работу мы делать не будем, я расскажу только о том, как находить столкновения между шарами, так что бы они не проникали друг в друга.
Это мой первый урок и возможно не всё будет доступно изложено, но я думаю вы справитесь.
Комментарии
Классная дикция. Хорошо обьясняешь :)
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
#2 Опубликовано 23 сентября, 2010 - 22:02 пользователем samana
#3 Опубликовано 23 сентября, 2010 - 22:21 пользователем Heilfuhrer
#4 Опубликовано 23 сентября, 2010 - 22:30 пользователем vitkuz
#5 Опубликовано 23 сентября, 2010 - 23:07 пользователем SarGun
https://vk.com/app3088598
#6 Опубликовано 23 сентября, 2010 - 23:08 пользователем samana
#7 Опубликовано 24 сентября, 2010 - 21:04 пользователем switcher
#8 Опубликовано 24 сентября, 2010 - 22:49 пользователем samana
#9 Опубликовано 26 сентября, 2010 - 10:39 пользователем Валрера
#10 Опубликовано 27 сентября, 2010 - 17:25 пользователем samana
#11 Опубликовано 27 сентября, 2010 - 19:01 пользователем Валрера
#12 Опубликовано 2 октября, 2010 - 15:33 пользователем Pryxan
#13 Опубликовано 4 октября, 2010 - 19:30 пользователем CuCaDMuH
#14 Опубликовано 4 октября, 2010 - 22:06 пользователем samana
#15 Опубликовано 5 октября, 2010 - 15:11 пользователем Asad
#16 Опубликовано 5 октября, 2010 - 18:08 пользователем skelani
#17 Опубликовано 6 октября, 2010 - 19:35 пользователем samana
#18 Опубликовано 8 октября, 2010 - 07:21 пользователем Ben
#19 Опубликовано 8 октября, 2010 - 19:14 пользователем samana
#20 Опубликовано 12 октября, 2010 - 22:33 пользователем gandolf
#21 Опубликовано 13 октября, 2010 - 20:59 пользователем mitien
#22 Опубликовано 14 октября, 2010 - 06:59 пользователем samana
#23 Опубликовано 14 октября, 2010 - 10:31 пользователем Anti_Karhad
#24 Опубликовано 14 октября, 2010 - 15:56 пользователем samana
#25 Опубликовано 18 октября, 2010 - 15:47 пользователем vals
Цитата: samana
Смотреть тут
#26 Опубликовано 18 октября, 2010 - 17:59 пользователем samana
#27 Опубликовано 19 октября, 2010 - 12:06 пользователем vals
#28 Опубликовано 19 октября, 2010 - 16:35 пользователем Neirol
#29 Опубликовано 19 октября, 2010 - 16:57 пользователем samana
#30 Опубликовано 19 октября, 2010 - 17:34 пользователем Neirol
- 1
- 2
- следующая ›
- последняя »
Серьёзно? Спасибо 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 />
Страницы