![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2007
Адрес: Санкт-Петербург
Сообщений: 7
|
Есть простая игрушка стрелялка-бродилка, нужно помочь разобраться с кодом. Сам код игры, все 100 строчек привожу ниже. Желательно, чтобы человек был из Питера.
score = 0; all = [];//тут хранятся все летающие объекты lev = 0; gravity = 0.45;//величина гравитации подбирается (визуально зависит от frameRate) pos = 0; neg = 0; count = 0; crash._visible = false; cursor.swapDepths(12002432);//прицел выше всех объектов Mouse.hide(); function placeTarget() { lev++; var d = target.duplicateMovieClip("t" + lev, lev); d.speedY = -15 - Math.random() * 5;//начальные значения скорости d.speedX = Math.random() * 4;// плюс небольшой разброс d.rotSpeed = (Math.random() - .5) * 20;//случайный шаг для вращения d._x = box._x + Math.random() * box._width; if (Math.random() < .5) { d.speedX = -d.speedX;//больше разницы - отражаем объект по горизонтали } if ((Math.random() < .5 && pos < 1) || neg >= 5) { d.gotoAndStop(1);//хорошее приведение pos++; neg = 0; } else { d.gotoAndStop(2);//плохое приведение var t = Math.random();//дополнительно случайно определяем тип объекта if(t < .33) { d.obj.gotoAndStop(1); } else if(t < .66) { d.obj.gotoAndStop(2); } else{ d.obj.gotoAndStop(3); } neg++; pos = 0; } d.onEnterFrame = function() { this.speedY += gravity; this._y += this.speedY; this._x += this.speedX; //this._rotation += this.rotSpeed; if (this._y > box._y) { removeObj(this); this.removeMovieClip();//удаляем если улетел ниже экрана } }; all.push(d); } function removeObj(obj){ var i = all.length; while(i--) { if(all[i] == obj) { all.splice(i, 1); } } } function placeCrash(x, y, _t) { lev++; var d = crash.duplicateMovieClip("c" + lev, lev); d.type = _t; d._x = x; d._y = y; } onEnterFrame = function () { if (count++ > 20) {//добавляем бутылку каждый 20-й кадр count = 0; placeTarget(); } cursor._x = _xmouse; cursor._y = _ymouse; }; onMouseDown = function(){ cursor.play();//анимация выстрела var i = all.length; while(i--) { var curT = all[i]; if(curT.hitTest(_root._xmouse, _root._ymouse, true)) { if(curT._currentframe == 1) { var type = 1; } else{ var type = curT.obj._currentframe + 1; } placeCrash(curT._x, curT._y, type); if(curT._currentframe == 2) { score += 10; if(score >= 100) { trace("Вы победили"); } }else { score -= 25; score = (score < 0)? 0 : score; } curT.removeMovieClip(); all.splice(i, 1); } } } Последний раз редактировалось mooncar; 10.04.2012 в 11:10. |
|
|||||
|
Модрон-ветеринар
|
Фокус, код нужно оформлять тегами!
Также необходимо обозначить размер и / или характер вознаграждения.
__________________
Идите первым! |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|