跳墩

      Flash 2006-1-4 16:5
跳吧!不过就20层



main = _root.createEmptyMovieClip("main", 500);
dis = 80;
speed = 14;
cx = 4;
air = 0.96;
xspeed = 0;
yspeed = 0;
R = 40;
grr = 0.7;
angle = 0;
var step = new Object();
var man_obj = new Object();
floor = 20;
mapArea = new Array();
mapArea[0] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[1] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[2] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[3] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[4] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[5] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[6] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[7] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[8] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[9] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[10] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[11] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[12] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[13] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[14] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[15] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[16] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[17] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[18] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[19] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[20] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[21] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[22] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[23] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[24] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[25] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[26] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[27] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[28] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[29] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[30] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[31] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[32] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[33] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[34] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[35] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[36] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[37] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[38] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[39] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[40] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[41] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[42] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[43] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[44] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[45] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[46] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[47] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[48] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[49] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mapArea[50] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
for (var i = 0; i<floor; i++) {
    for (var j = 0; j<floor; j++) {
        _root.attachMovie("tile", "t"+i+"_"+j, i*floor+j);
        _root["t"+i+"_"+j]._x = j*16;
        _root["t"+i+"_"+j]._y = i*16;
    }
}
function attachStep() {
    for (var i = 0; i<floor; i++) {
        step_obj = main.attachMovie("step", "step"+i, i);
        step_obj._y = dis*(i-15);
        step_obj._x = Math.round((Math.random()*4))*16+128;
        step_obj.move = Math.round(Math.random()*1);
        step_obj.speed = Math.floor(Math.random()*4)-2;
        step_obj.absy = step_obj._y;
    }
    _root.onEnterFrame = function() {
        for (var k = 0; k<floor; k++) {
            xp = Math.floor((main["step"+k]._x+4)/16);
            yp = Math.floor((main["step"+k].absy)/16);
            for (var j = 0; j<3; j++) {
                _root.mapArea[yp][xp+j] = 1;
            }
            for (var m = 0; m<xp; m++) {
                _root.mapArea[yp][m] = 0;
            }
            for (var n = xp+3; n<floor; n++) {
                _root.mapArea[yp][n] = 0;
            }
            main["step"+k]._x += main["step"+k].speed;
            if (main["step"+k]._x>200 || main["step"+k]._x<80) {
                main["step"+k].speed = -main["step"+k].speed;
            }
        }
    };
}
function attachMan() {
    man_obj = main.attachMovie("man", "man", 1980);
    man_obj.weight = 1;
    man_obj._x = 180;
    man_obj._y = 200;
    man_obj.ypos = 300;
    man_obj.xpos = 180;
}
onround = true;
up = true;
ci = 0;
function jump() {
    lis = new Object();
    lis.onKeyDown = function() {
        if (Key.isDown(Key.UP) && onround == true) {
            yspeed = -speed;
            xspeed = 0;
        } else if (Key.isDown(Key.RIGHT) && onround == true) {
            xspeed = cx;
            yspeed = 0;
        } else if (Key.isDown(Key.LEFT) && onround == true) {
            yspeed = 0;
            xspeed = -cx;
        }
    };
    Key.addListener(lis);
    man_obj.onEnterFrame = function() {
        yspeed += this.weight;
        this.ypos += yspeed;
        this.xpos += xspeed;
        if (onround) {
            xspeed *= grr;
        }
        downY = Math.floor((this.ypos+8)/16);
        upY = Math.floor((this.ypos-8)/16);
        rightX = Math.floor((this.xpos+8)/16);
        leftX = Math.floor((this.xpos-8)/16);
        //trace(downY);
        //trace(ci);
        dy = 15*ci+downY;
        if ((mapArea[dy][rightX] == 1 || mapArea[dy][leftX] == 1) && yspeed>0) {
            gra = downY*16-(this._height/2);
            this.ypos = gra+this.weight;
            pos = Math.floor((  this._y+16)/dis)+15;
            this.xpos += main["step"+pos].speed;
            main._y += (240*ci-main._y)/5;
            if (dy == 5) {
                ci = Math.floor((313-this.ypos)/240);
                for (var i = 0; i<floor; i++) {
                    main["step"+i].absy = main["step"+i]._y+240*ci;
                }
            }
            onround = true;
            yspeed = 0;
        } else {
            onround = false;
        }
        this._y = this.ypos;
        this._x = this.xpos;
    };
}
attachMan();
attachStep();
jump();

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}