Как создавать свои Flash-игры, подобные Angry Birds и World of Goo?
Box2D - это библиотека, которая моделирует физическое поведение твердых тел в двумерном пространстве. Программисты могут использовать ее в своих играх, чтобы сделать...
В этом уроке вы научитесь создавать что-то наподобии зажигалки, огонь которой будет создан программным способном. Только не злоупотребляйте им
Комментарии
супер :) прикольно :)
Круть респект автору!
Всё сделал только ошибочку с анимацией не большую зделал.....
И вместол огня сделал звездочки))))
Не хотелось бы говорить плохого, но уж больно это все похоже на это:
/flashlearn/flatexttutorials/538-razvodim-koster-bez-spichek
-i-zazhigalok-ili-kak.html
И где написано кто автор?
originalg
Немножко эффект отличается - это раз.
Автор я (сейчас добавлю) - это два.
И все таки формат урока тоже сильно отличается.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Neirol: "Только не злоупотребляйте им"
Золотые слова ))
Твой проект во FlashPlayer за две минуты неприрывного "прожига" - "прожег" у меня 7 метров с небольшим. При этом в арифметической прогрессии росла нагрузка на процессор. А представьте, если кто-то захочет использовать это у себя в проекте, например - во flash-сайте.
Очень надеюсь, что у посетителей этого сайта много ОЗУ и мощный процессор.
Как думаешь почему ? )))
P.S. кстати, спасибо. Давно хотел увидеть практические результаты тестов с подобными недочетами. Да все руки не доходили. А тут и готовая работа подвернулась.
<i>Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете</i><br /><b>Стив Макконнел. "Совершенный код"</b>
В проекте допущена ошибка, которая и ест память.
Добавляя клипы на сцену, ты их не удаляешь по достижению нулевой прозрачности. А надо! Потому что в итоге получается огромное количество прозрачных клипов, которые и грузят память.
Урок, речь - все супер! Далеко пойдешь! Молодец.
И последнее... Постарайся сделать так, чтобы минута видео весила метр, поиграй с настройками...
черт )))
он бы и сам догадался. Посидел,подумал - зато навсегда врезалось бы в память.
А с подсказкой это не интересно )))))
<i>Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете</i><br /><b>Стив Макконнел. "Совершенный код"</b>
switcher - я это знал и до того, как писал урок.
Но пока не нашел решения этой проблемы.
removeChild на последнем фрейме не помогали.
vitkuz - хотелось бы узнать каким способом ты создаешь видео-уроки. Я записываю через Camtasia и сохраняю в формате avi, предварительно изменив разрешение видео.
Просто у тебя ведь там флеш-плеер свой.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
плохо, что знали и не указали предупреждение
Класс Fire:
package
{
import flash.events.Event;
public class Fire extends FirePart
{
public function Fire(_x, _y)
{
x = _x + Math.random() * 5 - 3;
y = _y + Math.random() * 5 - 3;
alpha = Math.random() * 2 + 2;
scaleX = scaleY = Math.random() * 2 + 1;
addFrameScript(totalFrames - 1, func);
}
private function func():void
{
stop();
addFrameScript(totalFrames - 1, null);
parent.removeChild(this);
}
}
}
<i>Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете</i><br /><b>Стив Макконнел. "Совершенный код"</b>
Очень хорошие уроки, только научись, пожалуйста, сохранять в меньшем размере, например формат swf - он будет меньше, чем avi... А так по качеству одобряю, дикция у тебя лучше моей :)
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
#11 Опубликовано 23 октября, 2009 - 10:55 пользователем Neirol
#12 Опубликовано 23 октября, 2009 - 11:40 пользователем switcher
#13 Опубликовано 23 октября, 2009 - 11:47 пользователем Neirol
#14 Опубликовано 23 октября, 2009 - 13:18 пользователем switcher
#15 Опубликовано 23 октября, 2009 - 14:42 пользователем Neirol
#16 Опубликовано 23 октября, 2009 - 16:02 пользователем funbiscuit
#17 Опубликовано 23 октября, 2009 - 18:40 пользователем Fly
switcher спасибо за пример, как раз таки из-за отсутствия parent мой флеш и ругался)
Fly это уже заметил vitkuz и я задал ему вопрос, каким способом сделать swf? Записываю через camtasia.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
как раз таки из-за отсутствия parent
я даже не знаю, где в твоем коде можно было обратиться к parent так, чтобы flash ругался на его отсутствие...
Если только в конструкторе, но в конструкторе употреблять parent, очевидно, что нельзя. По крайней мере, пока ребенок не добавлен в список отображения.
Мой пример работает?
<i>Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете</i><br /><b>Стив Макконнел. "Совершенный код"</b>
Я имел ввиду что я просто removeChild использовал, без parent
Не проверял твой вариант, но проще parent.removeChild(this) добавить в последний кадр FirePart, вместо Stop.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
не проще, это не AS2. Вложенные мувиклипы в AS3 не могут иметь кода в кадрах.
И, кстати, вместо stop() - не есть праивльно. Удаление из списка отображение - не означает удаление объекта. GC еще нужно "проснуться" и, "почесав затылок", на очередной итерации "зачистки" попробовать удалить нигде не залинкованный объет. И то не все те, что имеются в приложении.
Так что рискуете - иметь несколько сотен, постоянно играющих клипов в "холостую" - достаточно длительное время.
<i>Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете</i><br /><b>Стив Макконнел. "Совершенный код"</b>
Ясно. Спасибо, буду знать.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Neirol,
Я думаю стоит скачать конвертер avi->flv. flv будет тоже весить мало. Хотя тебе решать. Но формат avi явно не катит из-за большого размера.
Neirol,
В камтазии есть настройки, которые позволяют конвертировать в swf формат твоё видео.
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
#18 Опубликовано 23 октября, 2009 - 18:50 пользователем Neirol
#19 Опубликовано 26 октября, 2009 - 11:59 пользователем Neirol
#20 Опубликовано 26 октября, 2009 - 21:14 пользователем moskitos80
#21 Опубликовано 26 октября, 2009 - 22:11 пользователем Neirol
#22 Опубликовано 14 апреля, 2010 - 20:34 пользователем qwert
#23 Опубликовано 15 февраля, 2011 - 22:35 пользователем SjeniaS
#24 Опубликовано 22 апреля, 2011 - 12:42 пользователем Turbina69
#25 Опубликовано 22 апреля, 2011 - 19:58 пользователем Fly
Цитата: Turbina69
Да, вот только видео получилось вообще размеро около 100 мб.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Проблему решил - нужно использовать JPEG Compression на 50% и все ОК.
switcher вложенных мувиклипов у меня там не было. На последнем кадре в общем нужно добавить stop(); и parent.removeChild(this).
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Такой вопрос:
- а если файл скрипта должен будет лежать в другой папке, как тогда их состыковать?
Относительно папки с проектом - никак. Можно только в папке с проектом, создать еще папки, и в них поместить скрипт, и через названия этих папок обращатся к скрипту.
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Спасибо огромное.
такой вопорс: могу я делать так для увеличения площади горения:
if(placingFire)
{
for(var i:int=200;i<300;i=i+10){
var fire:Fire = new Fire(i, 200);
addChild(fire);
}
qwert,
на скока я знаю, так (var fire:Fire = new Fire(i, 200);) получится что огонь пойдет в точку i по x и в точку 200 по y, так как в параметрах функции (которая в классе) в параметрах получает значение X,Y(а это: mouseX,mouseY), по этому для написания этих строк, надо в параметрах функции(в классе), написать две переменные, к примеру они в функции будут названы a и b, тогда надобудет изменить строчку с размером, на эти две строки: scaleX=a;scaleY=b; и тогда шириной огонька станет переменная a, а высотой переменная b, тоесть код класса будет такой:
package{
import flash.events.Event;
import flash.display.MovieClip;
public class Fire extends MovieClip{
public function Fire(X,Y,a,b){
x = X+Math.random()*5-3;
y = Y+Math.random()*5-3;
alpha = Math.random()*2+2
scaleX = a;scaleY = b;
}
}
}
а код в самой проге соответственно:
var peremennaua:Boolean=false;
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
addEventListener(Event.ENTER_FRAME, enterFrame);
function mouseDown(e:MouseEvent)
{
peremennaua=true;
}
function mouseUp(e:MouseEvent)
{
peremennaua=false;
}
function enterFrame(e:Event)
{
if (peremennaua)
{
for(var i:int=0;i<5;i++){
var fire:Fire = new Fire(mouseX,mouseY,i, 5);
addChild(fire);
}
}
}
но так огонь будет оч большой, по этому делай значения ещё меньше)))
Автор можешь кинуть сюда код? просто у меня слегка не получается списать его с видео!
Автор можешь кинуть сюда код? просто у меня слегка не получается списать его с видео!
вы можете скачать исходник
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
Все права защищены. Андрей Муха, Виталий Кузьменко. easyflash.org. 2021
Если вы являетесь профессионалом во flash, flex, air, actionscrip 3.0, анимации или других RIA (Rich Internet Application), тогда мы предлагаем вам денежное сотрудничество.
Станьте автором будущих обучающих видеокурсов и зарабатывайте регулярно продавая свои знания и навыки. Все что вам нужно - это создать серю видеоуроков по выбранной теме и все!
Узнайте все подробности здесь.
Карта предназначена для того, чтобы вы иногда могли посмотреть масштабы сообщества флешеров! Нас много. Мы по всему миру. Вы видите себя? Присоединяйтесь к постоянно растущему, креативному сообществу flasher'ов по всему миру! Делайте интернет интерактивным и интересным! И зарабатывайте этим деньги, конечно!
Если Вам понравился данный проект, и Вы точно уверены, что он будет интересен Вашим друзьям, подписчикам, посетителям сайта и т.д., то мы хотим предложить Вам реальную возможность заработать.
Если Вы заинтересованы, то Вам нужно пройти по этой ссылке и зарегистрироваться в партнерской программе. После этого Вы должны просто рекомендовать наш сайт по собственной уникальной ссылке и если человек, зашедший по Вашей ссылке, приобрететнаш курс по flash , то вы получите от 20% до 25% комиссионных.
Рекомендуя хорошую вещь, Вы зарабатываете деньги. Предлагаем Вам попробовать!