Създаване на флаш игра (2)
Здравейте.Ето началото на урока.
Сега ще продължим нататък. В този урок ще направим патките, ще ги накараме да се движат. Това ще стане с помощта на duplicateMovieClip (); и tween class. Като за начало свалeте тази картинка (можете да ползвате друга, ако смятате че е по подходяща). Вкарайте я във фла файла. Поставете я на нов лейър, маркирайте и превърнете в мууви клип. След това новосъздаденото клипче го маркирайте и го превърнете в друго мууви клипче. Найменувайте го a_mc. След това трябва да направите анимацията, която ще се изпълнява при "убиване" на пилето. Ето ВИДЕО как да направите всичко казано до тук(можете да ползвате Stop , Play за да не изпуснете нещо). Поставете a_mc извън флаша (извън бялото поле).
На фрейм едно поставете следния код :

var pticiEdno:Number = 4;
easeType = mx.transitions.easing.None.easeNone;
edno = setInterval(savage, 5500);
savage();
function savage() {
for (i=1; i<pticiEdno; i++) {
ime = "a"+i+"_mc";
_root[ime]._visible = true;
duplicateMovieClip(a_mc, ime, i);
_root[ime]._y = random(Stage.height);
_root[ime]._yscale = _root[ime]._xscale=random(60)+40;
var begin = random(60);
var end = Stage.width+20;
var time = random(2)+2;
var mc = _root[ime];
//тук задавам променливити за Туйна предварително. В по нататъшният код ги задавам директно и пестя 4-5 реда код.
Tween = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time, true);
}
}

var pticiEdno:Number = 4; - създаваме променлива тип Number (число). От нея ще зависи броя на пилците, които ще се появяват. По късно променяйки стойността на тази променлива ще създадем "нивата" на играта.
edno = setInterval(savage, 5500); Този ред създава така наречения интервал. Синтаксиса на реда е следния : IME = setInterval (FUNKCIQ, VREME) . Тоест, тук имаме интервал с име edno , който задава на функция с име savage да се изпълнява през 5500 милисекунди(5,5 секунди). Така на практика, пилците ще се появяват през 5,5 секунди.
savage(); С този ред извикваме функцията от долния ред. Така тя ще се изпълни веднага щом фрейма се зареди и няма да се налага да чакаме 5,5 секудни за да видим първата партида пернати :) .
function savage() { Създаваме нова функция с име savage
for (i=1; i<pticiEdno; i++) { Създаваме цикъл. Синтаксиса му е : for (Променлива, Условие, Промяна). Тоест, докато въпросното число i е по малко от pticiEdno стойноста му ще расте с едно (i++ е равносилно на i=i+1)
ime = "a"+i+"_mc";Тук създаваме променилва тип Array. Тя ще има съдържание a1_mc , a2_mc, a3_mc и т.н. Т
duplicateMovieClip(a_mc, ime, i); Използваме duplicateMovieCLip(); за да дуплицираме a_mc колкото пъти желаем. В случая, то ще се дуплицира, докато i се променя (докато е по малко от pticiEdno). Тоест, 3 пъти (за i=1, i=2, i=3). Новосъздадените клипове ще са с име a1_mc, a2_mc, a3_mc
_root[ime]._visible = true; // задаваме на въпросните нови клипове да са "видими". Този ред ще се окаже нужен след като завършим всичко.
_root[ime]._y = random(Stage.height); Задаваме _y координатата на новите клипове да е произволно число от височината на фла файла.
_root[ime]._yscale = _root[ime]._xscale=random(60)+40; Тук правим размера по x и y на новите клипова да е на произволно число от 0 до 60 + 40. Така всяко дуплицирано клипче ще изглежда с различни размери
var begin = random(60);//начална точка. За разнообразие не съм я задал 0, а произволно от 0 до 60
var end = Stage.width+20;//крайна точка
var time = random(2)+2;//време за което да се изпълни движението. То ще е от 2 до 4 секунди. Така пилците ще се движат различно бързо.
var mc = _root[ime];
Тук създаваме няколко променливи, с помощта на които ще организираме tween class.
Tween = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time, true);Използваме tween class за да накараме пилците да се движат.
Ето фла файла.
Демо.
Урока участва в играта на http://inbg.eu
На въпроси отговарям само тук :)
Наздраве.







/ Трябва да сте регистриран за да напишете коментар /