Первый опыт
Content on this page requires a newer version of Adobe Flash Player.
Вот код...Укажите где, что можно оптимизировать и улучшить.
kill.text = "V = 0"; life.text = "X = 5"; var zel_color:Boolean = false ; var oran_color:Boolean = false ; var kras_color:Boolean = false ; var vulich:uint = 0; var life_p:int = 5; btn1.addEventListener(MouseEvent.CLICK , Kraslich); btn2.addEventListener(MouseEvent.CLICK , Orglich); btn3.addEventListener(MouseEvent.CLICK , Zellich); function Kraslich(e:MouseEvent):void { kras_color = true ; mess.text = "Ловите красных!!!"; } function Orglich(e:MouseEvent):void { oran_color = true ; mess.text = "Ловите оранжевых!!!"; } function Zellich(e:MouseEvent):void { zel_color = true ; mess.text = "Ловите зеленых!!!"; } en11.addEventListener (MouseEvent.CLICK , enmy11); en12.addEventListener (MouseEvent.CLICK , enmy12); en13.addEventListener (MouseEvent.CLICK , enmy13); function enmy11 (e:MouseEvent):void { if (zel_color == true) { kras_color = false ; oran_color = false ; vulich+=1; kill.text = "V = " + vulich; } if (zel_color == false) { life_p-=1; life.text = "X = " + life_p; } if (life_p<0) { stop (); mess.text = "Поражение !!!"; en11.stop (); en11.x = 0 ; en11.y = 0 ; en12.stop (); en12.x = 0 ; en12.y = 0 ; en13.stop (); en13.x = 571 ; en13.y = 81 ; } if (vulich>25) {stop (); mess.text = "Победа !!!"; en11.stop (); en11.x = 0 ; en11.y = 0 ; en12.stop (); en12.x = 0 ; en12.y = 0 ; en13.stop (); en13.x = 571 ; en13.y = 81 ; } } function enmy12 (e:MouseEvent):void { if (kras_color == true) { zel_color = false ; oran_color = false ; vulich+=1; kill.text = "V = " + vulich; } if (kras_color == false) { life_p-=1; life.text = "X = " + life_p; } if (life_p<0) { stop (); mess.text = "Поражение !!!"; en11.stop (); en11.x = 0 ; en11.y = 0 ; en12.stop (); en12.x = 0 ; en12.y = 0 ; en13.stop (); en13.x = 571 ; en13.y = 81 ; } if (vulich>25) {stop (); mess.text = "Победа !!!"; en11.stop (); en11.x = 0 ; en11.y = 0 ; en12.stop (); en12.x = 0 ; en12.y = 0 ; en13.stop (); en13.x = 571 ; en13.y = 81 ; } } function enmy13 (e:MouseEvent):void { if (oran_color == true) { zel_color = false ; kras_color = false ; vulich+=1; kill.text = "V = " + vulich; } if (oran_color == false) { life_p-=1; life.text = "X = " + life_p; } if (life_p<0) { stop (); mess.text = "Поражение !!!"; en11.stop (); en11.x = 0 ; en11.y = 0 ; en12.stop (); en12.x = 0 ; en12.y = 0 ; en13.stop (); en13.x = 571 ; en13.y = 81 ; } if (vulich>25) {stop (); mess.text = "Победа !!!"; en11.stop (); en11.x = 0 ; en11.y = 0 ; en12.stop (); en12.x = 0 ; en12.y = 0 ; en13.stop (); en13.x = 571 ; en13.y = 81 ; } }
- 433 просмотра
Комментарии
А смысл игры????
тоже делал в первые дни изучения flash такие игры)только делал стрельбу по шарикам)в вашей работе можно кое-что улучшить,сделайте чтобы при нажимании по шарику он исчезал,а потом за сценой появлялся(а то я очки могу за раз 5 штук набрать).и сделайте ,чтобы при определенном кол-ве очков выходила надпись Победа,ну или что-то в этом роде.
Администрация сайта,исправьте пожалуйста опечатку в письме с регистрации:
Уроки Flash-Все о Flas.
Ого)) Скажу по секрету, если захочешь эту программку оптимизировать, то сотрешь половину кода))) Я тебе укажу на определенные места, которые ты должен в будущем избегать.
1. Операторы if. Смотри, у тебя в коде есть "пустые" проверки. Попробую объяснить.
Предположим есть число a=15, у тебя в коде получается следующее, if (a=15) {...}; if (a<15) {...}; if (a>15) {...}; и т.д) Получается, что при выполнении кода будет тратиться время на все 3-и проверки, а это нехорошо)) Используй конструкцию if() ... else if() ... Тогда, как выполниться одно из условий, AS пропустит остальные ненужные проверки.
2. Функции enmy11(12,13) по своей сути дублируют друг друга, если подумать из них можно сделать одну динамическую функцию (назовем её enmy11111). А теперь представь сколько кода ты удалишь если хорошо подумаешь?)) Для начала введи переменную var krug:String = "zelen_color"; Зеленый круг у тебя будет по умолчанию активный, далее в функциях слушателей кнопок меняй эту переменную krug. Потом введи для функции enmy11111 обязательную переменную(скажем kk) в которая будет дублировать значения на кнопках (ну т.е. получиться, что kk = "zelen_color") . И уже в самой функции сравнивай две переменные. Одна это krug (какая кнопка у тебя нажата), другая kk -анимированный мувиклип)) Если они равны то плюс очко, если нет то минус) и т.д.
Удачи)
А смысл игры????
Выбираешь нужный цвет и ловишь нужный шарик...
.
mass спасибо за советы, будем стараться что-то оптимизировать....
Вот если бы коментарии добавил более полезно было бы для всех)
Оптимизировать можно много, например при Клике выполнялась одна функция, а там уже кэйсом выбиралось, что тебе надо. Еще ИЗБЕГАЙ дублирования кода, создай новую функцию и при одинаковых участках кода ее вызывай.
function MouseClickHandler(e:MouseEvent):void
{
switch (e.target as MovieClip)
{
case btn1:
kras_color = true ;
mess.text = "Ловите красных!!!";
break;
case btn2:
oran_color = true ;
mess.text = "Ловите оранжевых!!!";
break;
case btn3:
zel_color = true ;
mess.text = "Ловите зеленых!!!";
break;
default:
kras_color = true ;
mess.text = "Ловите красных!!!";
break;
}
}
чет непонятно оно работает )
Нифига себе первый опыт
Нифига себе первый опыт
У мя до этого был не большой опыт на С++.
чет непонятно оно работает )
Я её уже усовершенствовал )поставил ограничитель на количество нажимо и т.д.
А в общем там просто нужно ловить шарики.
Ахахахха, сравнивать C++ и ActionScript 3.0, все равно что сравнить миллионера с бомжом (в плане денежных средств).
А приложение глючит, зачем такое выкладывать не оптимизировав его?
Вы все-таки не разработчик, например готики 4, которые спешат обрадовать своих фанатов, нам то это нафиг не нужно, уж поверьте =)
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!<br /><br />https://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.<br />
Ахахахха, сравнивать C++ и ActionScript 3.0
Я имел введу , что общие принципы для этих языков одинакови)))
Да, я не разработчик готики!!! Я только учусь, а как по вашему можно без критики и помощи в чем то разобраться? Поэтому выложил код который смог написать что бы что - то посоветовали...так как я вроде думал что этот сайт именно дял этого , что бы воспитать будущее поколение флешеров....А вы место того что бы на меня просто гнать из за не оптимизированого кода. Моглибы расказать и посоветовать где и что можно улучшить.
Паша,
Не обращай внимания на нейрола. Он думает что умнее всех и думает что ему всё можно.
Neirol,
Я не думаю что твою первую работу так же критиковали.
Programmer Action Script 3.0
Паша, Не обращай внимания на нейрола. Он думает что умнее всех и думает что ему всё можно.
Предлагае остановитьсяпо поводу взаимных упрёков... следующие комменты буду удалять на эту тему...
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте - https://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
А вообще идея неплохая. Как для первого опыта - просто супер.
Вместо кружков можно сделать шарики которые бы при нажатии на них лопались.
Вместо курсора можно сделать пистолет, или лучше стрелу. А так ничё =)
Programmer Action Script 3.0
Добрый день.
Сижу разбираю пример ( исходника нет - пытаюсь воспроизвести сам - чего то не работает)
У меня такое чувство, что пример сделан на АС2, а пытаюсь его на АС3 возпроизвести и от этого все проблемы..
Тупо не могу заставить кнопки работать:)))
Если это AC3, то значит я намутил со свойствами кнопок
ps 3 день ( сутки ) знаком со Flash - если у кого будет возможность и желание помочь, буду признателен !
Неа))) Это точно АС 3.
Что именно там не получаеться??
Тупо не могу заставить кнопки работать:)))
Ты хоть их обзывал как нибудь создавая их?
Причина возможна в слушателе или в функцие.
Напиши в лс если тебя интерисует!
Programmer Action Script 3.0
ну, косяк есть. При "Поражении" нужна кнопка рестарта (заветное Правая Кнопка - Воспроизвести тут не подействует). Единственный косяк, пожалуй.
Прячься, это админ...