Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Вакансии (http://www.flasher.ru/forum/forumdisplay.php?f=75)
-   -   Срочно нужен AS2 Флэш-программист (http://www.flasher.ru/forum/showthread.php?t=177847)

Фокус 10.04.2012 09:58

Срочно нужен AS2 Флэш-программист
 
Есть простая игрушка стрелялка-бродилка, нужно помочь разобраться с кодом. Сам код игры, все 100 строчек привожу ниже. Желательно, чтобы человек был из Питера.

Код AS1/AS2:

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, время: 08:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.