www.gusucode.com > 一个都不能掉微信单独游戏包源码程序 > 一个都不能掉/pigbaby/js/main.js

    
var g_queue, qp_a, qp_b = [], qp_c = 1000, qp_d = 500, qp_e = !0, GAME_READY = 1, GAME_PLAY = 2, GAME_FAIL = -2, GAME_OVER = -1, GAME_START = -10, GAMESTATUS = GAME_START;
function loadResource() {
	SCREEN_SHOW_ALL = !0;
	var a = new ProgressBar(0.8 * W, 40);
	a.regX = a.w / 2;
	a.regY = a.h / 2;
	a.x = W / 2;
	a.y = H / 2;
	stage.addChild(a);
	queue = new createjs.LoadQueue(!1);
	queue.setMaxConnections(30);
	loadGameData();
	queue.on("complete", qp_f, null, !0);
	queue.loadManifest({path:RES_DIR + "img/", manifest:[{src:"cloud1.png", id:"cloud1"}, {src:"cloud2.png", id:"cloud2"}, {src:"cloud3.png", id:"cloud3"}, {src:"cloud4.png", id:"cloud4"}, {src:"welcome.png", id:"welcome"}, {src:"logo.png", id:"logo"}, {src:"tag.png", id:"btnframe"}, {src:"start.png", id:"startbtnlabel"}, {src:"top.png", id:"topbtnlabel"}, {src:"share.png", id:"sharebutton"}, {src:"game_over.png", id:"gameoverbanner"}, {src:"score.png", id:"scorelabel"}, {src:"line.png", id:"line"}, {src:"green.png", id:"ballgreen"}, {src:"blue.png", id:"ballblue"}, {src:"red.png", id:"ballred"}]}, !1);
	a.forQueue(queue);
	queue.load();
}
function qp_f(a) {
	a = new Qp_g;
	stage.addChild(a);
	createjs.Ticker.on("tick", a.update, a);
	qp_a = new Qp_h;
	stage.addChild(qp_a);
}
function qp_i() {
	qp_a.startGame();
}
function qp_j() {
	//showTop();
	goHome();
}
function qp_k() {
	dp_share();
}
function Qp_g() {
	this.initialize();
	var a = new createjs.Shape;
	a.graphics.lf(["#88c3d9", "#9ddcf2"], [0, 1], 0, 0, 0, H).r(0, 0, W, H);
	this.addChild(a);
	for (a = this.nextCloud = 0; 3 > a; a++) {
		this.update();
	}
}
Qp_g.prototype = new createjs.Container;
Qp_g.prototype.update = function (a) {
	a && (this.nextCloud -= a.delta / 1000);
	if (0 >= this.nextCloud) {
		var c = parseInt(4 * Math.random()) + 1, b = new createjs.Bitmap(queue.getResult("cloud" + c));
		b.setAnchorPoint(0.5, 0.5);
		b.y = Math.random() * H * 0.6;
		a ? (b.x = -b.image.width / 2, this.nextCloud += 5 * Math.random() + 5) : b.x = Math.random() * W;
		a = W + b.image.width / 2;
		createjs.Tween.get(b).to({x:a}, (a - b.x) * c * 10).call(function () {
			this.parent.removeChild(this);
		});
		this.addChild(b);
	}
};
function Qp_h() {
	this.initialize();
	this.menuLayer = new Qp_l;
	this.gameplayinglayer = new Qp_m;
	this.gameplayinglayer.visible = !1;
	this.addChild(this.menuLayer, this.gameplayinglayer);
}
Qp_h.prototype = new createjs.Container;
Qp_h.prototype.gameover = function () {
	GAMESTATUS != GAME_OVER && (GAMESTATUS = GAME_OVER, createjs.Ticker.removeEventListener("tick", window.update), this.gameplayinglayer.visible = !1, onNewScore(score), this.menuLayer.gameover.buttonactions(), this.menuLayer.gameover.refresh(), this.menuLayer.visible = !0);
};
Qp_h.prototype.startGame = function () {
	GAMESTATUS = GAME_START;
	record_flag = !1;
	qp_b = [];
	score = 0;
	this.menuLayer.visible = !1;
	if (!1 == qp_e) {
		this.removeChild(a), this.gameplayinglayer.doReset(), this.gameplayinglayer.visible = !0, createjs.Ticker.addEventListener("tick", window.update);
	} else {
		qp_e = !1;
		var a = new createjs.Text("黑线下点猪头托飞它", "bold 60px Arial", "#ff9d36");
		a.stroke = "white";
		a.textBaseline = "middle";
		a.regX = a.getBounds().width / 2;
		a.regY = a.getBounds().height / 2;
		a.scaleX = 2;
		a.scaleY = 2;
		createjs.Tween.get(a).to({scaleX:1, scaleY:1}, 200);
		createjs.Tween.get(a).to({alpha:0.6}, 200).to({alpha:1}, 200).to({alpha:0.6}, 200).to({alpha:1}, 200);
		a.x = 320;
		a.y = 720;
		this.addChild(a);
		setTimeout(function () {
			qp_a.removeChild(a);
			qp_a.gameplayinglayer.doReset();
			qp_a.gameplayinglayer.visible = !0;
			createjs.Ticker.addEventListener("tick", window.update);
		}, 1500);
	}
};
function Qp_n(a, c, b, d, e) {
	this.initialize();
	c = new createjs.Bitmap(queue.getResult(c));
	c.setAnchorPoint(0.5, 0.5);
	a && (a = new createjs.Bitmap(queue.getResult(a)), a.setAnchorPoint(0.5, 0.5), this.addChild(a));
	this.addChild(c);
	this.do_cache();
	this.x = d;
	this.y = e;
	this.on("click", b);
}
Qp_n.prototype = new createjs.Container;
function Qp_o(a, c, b, d) {
	this.initialize(queue.getResult(a));
	this.setAnchorPoint(0.5, 0.5);
	this.x = c;
	this.y = b;
	if (d) {
		this.on("click", d);
	}
}
Qp_o.prototype = new createjs.Bitmap;
function Qp_p() {
	this.initialize();
	this.addChild(new Qp_o("gameoverbanner", 320, 350));
	this.sharebutton = new createjs.Bitmap(queue.getResult("sharebutton"));
	this.sharebutton.x = 320;
	this.sharebutton.y = 1200;
	this.sharebutton.regX = this.sharebutton.getBounds().width / 2;
	this.sharebutton.regY = this.sharebutton.getBounds().height / 2;
	this.sharebutton.on("mousedown", qp_k, this.sharebutton);
	this.addChild(this.sharebutton);
	this.scoreText = new createjs.Text(score, "bold 60px Arial", "#ff9d36");
	this.scoreText.stroke = "white";
	this.scoreText.textBaseline = "middle";
	this.scoreText.x = 420;
	this.scoreText.y = 330;
	this.addChild(this.scoreText);
	this.bestscoreText = new createjs.Text(best, "bold 60px Arial", "#ff9d36");
	this.bestscoreText.stroke = "white";
	this.bestscoreText.textBaseline = "middle";
	this.bestscoreText.x = 420;
	this.bestscoreText.y = 530;
	this.addChild(this.bestscoreText);
}
Qp_p.prototype = new createjs.Container;
Qp_p.prototype.buttonactions = function () {
	var a = qp_a.menuLayer.start;
	a.y = 1200;
	createjs.Tween.get(a).to({y:720}, 200);
	a = qp_a.menuLayer.top;
	a.y = 1200;
	createjs.Tween.get(a).to({y:1200}, 150).to({y:720}, 200);
	createjs.Tween.get(this.sharebutton).to({y:1200}, 350).to({y:880}, 200);
};
Qp_p.prototype.refresh = function () {
	this.bestscoreText.text = "" + best;
	this.scoreText.text = "" + score;
};
function Qp_l() {
	this.initialize();
	this.gameover = new Qp_p(score, best);
	this.gameover.visible = !1;
	this.addChild(this.gameover);
	this.logopicture = new createjs.Bitmap(queue.getResult("logo"));
	this.logopicture.setAnchorPoint(0.5, 0.5);
	this.logopicture.x = 320;
	this.logopicture.y = 340;
	this.addChild(this.logopicture);
	this.start = new Qp_n("btnframe", "startbtnlabel", qp_i, 180, 720);
	this.start.on("click", function () {
		this.gameover.visible = !0;
		this.removeChild(this.logopicture);
		this.logopicture = null;
	}, this, !0);
	this.addChild(this.start);
	this.top = new Qp_n("btnframe", "topbtnlabel", qp_j, 460, 720);
	this.addChild(this.top);
}
Qp_l.prototype = new createjs.Container;
function Qp_m() {
	this.initialize();
	this.ballLayer = new createjs.Container;
	this.addChild(this.ballLayer);
	var a = new createjs.Bitmap(queue.getResult("scorelabel"));
	a.setAnchorPoint(0, 0.5);
	a.x = 30;
	a.y = 50;
	this.addChild(a);
	this.scoreText = new createjs.Text("0", "bold 48px Arial", "#ff9d36");
	this.scoreText.stroke = "white";
	this.scoreText.textBaseline = "middle";
	this.scoreText.x = 140;
	this.scoreText.y = 50;
	this.addChild(this.scoreText);
	a = new createjs.Bitmap(queue.getResult("line"));
	a.setAnchorPoint(0.5, 0.5);
	a.x = 320;
	a.y = qp_d;
	this.addChild(a);
}
Qp_m.prototype = new createjs.Container;
Qp_m.prototype.randomBalls = function () {
	var a = new Qp_q(queue, ["ballgreen", "ballred", "ballblue"][parseInt(3 * Math.random())], 506 * Math.random() + 67);
	qp_b.push(a);
	this.ballLayer.addChild(a);
};
Qp_m.prototype.doReset = function () {
	this.ballLayer.removeAllChildren();
	this.scoreText.text = "" + score;
};
function update(a) {
	5 > qp_b.length && score / 5 + 1 > qp_b.length && qp_a.gameplayinglayer.randomBalls();
	a = a.delta / 1300;
	for (var c in qp_b) {
		if (qp_b[c].refreshLoop(a)) {
			return qp_a.gameover();
		}
	}
}
createjs.DisplayObject.prototype.setAnchorPoint = function (a, c) {
	var b = this.getBounds();
	this.regX = b.width * a;
	this.regY = b.height * c;
};
createjs.Container.prototype.addCenterChild = function (a) {
	a.setAnchorPoint(0.5, 0.5);
	var c = this.getBounds();
	a.x = c.x + 0.5 * c.width;
	a.y = c.y + 0.5 * c.height;
	this.addChild(a);
};
function Qp_q(a, c, b) {
	this.initialize();
	this.ball = new createjs.Bitmap(a.getResult(c));
	this.ball.setAnchorPoint(0.5, 0.5);
	this.addChild(this.ball);
	this.doReset(b);
	this.on("mousedown", function (a) {
		IS_TOUCH && a.nativeEvent instanceof MouseEvent || this.touch(a.localX, a.localY);
	}, this);
}
Qp_q.prototype = new createjs.Container;
Qp_q.prototype.doReset = function (a) {
	this.y = -67;
	this.x = a;
	this.vx = this.vy = 0;
	this.ball.rotation = 0;
};
Qp_q.prototype.touch = function (a, c) {
	if (this.y > qp_d) {
		var b = this.x, d = Math.abs(Math.sqrt(2 * qp_c * this.y));
		if (320 <= b) {
			var e = (-d - Math.sqrt(4000 * qp_c)) / qp_c;
			this.vx = b / e;
		} else {
			e = (-d - Math.sqrt(4000 * qp_c)) / qp_c, this.vx = (b - 640) / e;
		}
		this.vy = -d;
		0 > this.vy && (score++, qp_a.gameplayinglayer.scoreText.text = score);
	}
};
Qp_q.prototype.refreshLoop = function (a) {
	this.vy += qp_c * a;
	this.y += this.vy * a;
	this.x += this.vx * a;
	this.mouseEnabled = 0 < this.vy;
	this.ball.rotation = (this.ball.rotation + 100 * a) % 360;
	0 >= this.x - 67 ? this.vx = Math.abs(this.vx) : this.x + 67 >= W && (this.vx = -Math.abs(this.vx));
	return this.y >= H;
};