STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228117
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/88190705?noj=FRM88190705-11DC" width="1" height="1"></div>

Sling Jumper.swf

This is the info page for
Flash #30286

(Click the ID number above for more basic data on this flash file.)


Text
Press space to continue...

Sling Jumper

loading...

By Glenn "RipeX" Everten

Sling Jumper

Play

Instructions

By Glenn "RipeX" Everten

Sling Jumper

Back

You control the ball with the left and right arrow keys on you keyboard. The ball have some air control, but it's not much.

The Game

It's all about controlling a ball to the left and the right and jump on slings to get through the 15 levels.

The Hints

Try to land almost on the edge of a sling so the ball will roll to the against the center of the sling and get more bounce. It's really hard to explain, so I recommend you to try different techniques.
If you hit a black vertical line you will bounce off it, but I you hit a red vertical line the level will be reset.

The Controls

By Glenn "RipeX" Everten

Congratulations!

Now get back to school!

Main menu

ActionScript [AS1/AS2]

Frame 1
MochiAd.showPreGameAd({id:"c4a23617146f4291", res:"640x480"});
Frame 2
stop(); var loaded_bytes = 0; var total_bytes = 0; this.onEnterFrame = function () { total_bytes = _root.getBytesTotal(); loaded_bytes = _root.getBytesLoaded(); percentage = Math.round((loaded_bytes / total_bytes) * 100); progressText.text = percentage + "%"; if (loaded_bytes == total_bytes) { gotoAndStop (3); } };
Frame 3
stop(); this.onEnterFrame = function () { btn_play.onPress = function () { gotoAndStop (5); }; btn_instructions.onPress = function () { gotoAndStop (4); }; };
Frame 4
btn_back.onPress = function () { gotoAndStop (3); };
Frame 5
function reset() { drawLevel(level); black_bg._alpha = 0; description._alpha = 0; description.enabled = false; description.descriptionText.text = ""; pauseGame = false; ball._x = ball_xpos; ball._y = ball_ypos; vel.x = 0; vel.y = 0; } function createBlock(number) { var _local3 = 1; while (_local3 <= number) { _root.attachMovie("block", "block" + _local3, 800 + _local3); _root["block" + _local3].onEnterFrame = function () { if ((ball.hitTest(this) and (vel.x >= 0)) and (wallHit == false)) { vel.x = -vel.x; wallHit = true; } else if ((ball.hitTest(this) and (vel.x < 0)) and (wallHit == false)) { vel.x = -vel.x; wallHit = true; } if (ball.hitTest(this)) { wallHit = false; } }; _local3++; } } function createDeathBlock(number) { var _local3 = 1; while (_local3 <= number) { _root.attachMovie("block_red", "block_death" + _local3, 900 + _local3); _root["block_death" + _local3].onEnterFrame = function () { if (ball.hitTest(this)) { reset(); } }; _local3++; } } function createMovingBlock(speed, size, ypos) { _root.attachMovie("block", "block_moving", 997); var t = 0; var y0 = ypos; var a = speed; var _local3 = 2; var w = ((Math.PI*2) / _local3); block_moving.onEnterFrame = function () { this._yscale = size; this._y = y0 + (a * Math.sin(w * t)); t = t + 0.025; if (ball.hitTest(this) and (vel.x >= 0)) { vel.x = -vel.x; } else if (ball.hitTest(this) and (vel.x < 0)) { vel.x = -vel.x; } }; } function createCoins(number) { var _local3 = 1; while (_local3 <= number) { _root.attachMovie("coin", "coin" + _local3, _local3); _root["coin" + _local3].onEnterFrame = function () { if (this.hitTest(ball)) { coinsCollected++; this.removeMovieClip(); } }; _local3++; } } function createCoinLineX(startCount, endCount, xpos, ypos) { var _local2 = startCount; while (_local2 <= endCount) { _root["coin" + _local2]._x = xpos + (20 * (_local2 - startCount)); _root["coin" + _local2]._y = ypos; _local2++; } } function drawLevel(lev) { black_bg._alpha = 25; description._alpha = 100; pauseGame = true; description.enabled = true; coinsCollected = 0; switch (lev) { case 1 : levelText = ("Level " + level) + "\n\nThe basics of this game, jump from the first sling to the other one."; ball_xpos = (Stage.width / 2) - 125; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 125; finish_ypos = 200; xpos = (Stage.width / 2) - 125; ypos = 300; xpos2 = (Stage.width / 2) + 125; ypos2 = 300; coins = 0; coinsNeeded = coins; createCoins(coins); attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 2 : levelText = ("Level " + level) + "\n\nA jump to the other side!"; ball_xpos = (Stage.width / 2) - 225; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 225; finish_ypos = 200; xpos = (Stage.width / 2) - 225; ypos = 300; xpos2 = (Stage.width / 2) + 225; ypos2 = 300; coins = 0; coinsNeeded = coins; createCoins(coins); attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 3 : levelText = ("Level " + level) + "\n\nBe the sling.."; ball_xpos = 100; ball_ypos = 75; finish_xpos = Stage.width - 100; finish_ypos = 100; xpos = 100; ypos = 160; xpos2 = Stage.width - 100; ypos2 = 400; coins = 0; coinsNeeded = coins; createCoins(coins); attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 4 : levelText = ("Level " + level) + "\n\nGetting up there..."; ball_xpos = 100; ball_ypos = 100; finish_xpos = Stage.width - 100; finish_ypos = 75; xpos = 100; ypos = 375; xpos2 = Stage.width - 100; ypos2 = 170; coins = 0; coinsNeeded = coins; createCoins(coins); attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 5 : levelText = ("Level " + level) + "\n\nGetting the right speed and aim.."; ball_xpos = 100; ball_ypos = 120; finish_xpos = Stage.width - 100; finish_ypos = 150; xpos = 100; ypos = 400; xpos2 = -999; ypos2 = 0; coins = 0; coinsNeeded = coins; createCoins(coins); attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 6 : levelText = ("Level " + level) + "\n\nA more challenging level?"; coins = 0; ball_xpos = 150; ball_ypos = 100; finish_xpos = Stage.width - 100; finish_ypos = 125; xpos = 100; ypos = 300; xpos2 = 150; ypos2 = 150; coins = 0; coinsNeeded = coins; createCoins(coins); createBlock(1); block1._x = 204; block1._y = 76; block1._yscale = 150; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 7 : levelText = ("Level " + level) + "\n\nWell, just collect all the coins and finish."; ball_xpos = (Stage.width / 2) - 150; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 225; finish_ypos = 150; xpos = (Stage.width / 2) - 150; ypos = 300; xpos2 = (Stage.width / 2) + 150; ypos2 = 300; coins = 4; coinsNeeded = coins; createCoins(coins); coin1._x = Stage.width / 2; coin1._y = 160; coin2._x = Stage.width / 2; coin2._y = 180; coin3._x = (Stage.width / 2) - 210; coin3._y = 160; coin4._x = (Stage.width / 2) - 210; coin4._y = 180; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 8 : levelText = ("Level " + level) + "\n\nCollect all 3 coins and complete the level."; ball_xpos = (Stage.width / 2) - 225; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 225; finish_ypos = 150; xpos = (Stage.width / 2) - 225; ypos = 300; xpos2 = (Stage.width / 2) + 225; ypos2 = 300; coins = 3; coinsNeeded = coins; createCoins(coins); coin1._x = Stage.width / 2; coin1._y = 140; coin2._x = (Stage.width / 2) + 50; coin2._y = 155; coin3._x = (Stage.width / 2) - 50; coin3._y = 155; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 9 : levelText = ("Level " + level) + "\n\nCoin-o-mania!"; ball_xpos = (Stage.width / 2) - 150; ball_ypos = 120; finish_xpos = (Stage.width / 2) + 150; finish_ypos = 120; xpos = (Stage.width / 2) - 150; ypos = 300; xpos2 = (Stage.width / 2) + 150; ypos2 = 300; coins = 60; coinsNeeded = 50; createCoins(coins); createCoinLineX(1, 20, 130, 140); createCoinLineX(21, 40, 130, 160); createCoinLineX(41, 60, 130, 180); attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 10 : levelText = ("Level " + level) + "\n\nJumping to new heights!"; ball_xpos = (Stage.width / 2) - 150; ball_ypos = 120; finish_xpos = (Stage.width / 2) + 150; finish_ypos = 120; xpos = (Stage.width / 2) - 150; ypos = 400; xpos2 = (Stage.width / 2) + 150; ypos2 = 400; coins = 1; coinsNeeded = coins; createCoins(coins); coin1._x = Stage.width / 2; coin1._y = 100; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 11 : levelText = ("Level " + level) + "\n\nIt's all about the timing..."; ball_xpos = (Stage.width / 2) - 150; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 225; finish_ypos = 150; xpos = (Stage.width / 2) - 150; ypos = 300; xpos2 = (Stage.width / 2) + 150; ypos2 = 300; coins = 2; coinsNeeded = coins; createCoins(coins); coin1._x = (Stage.width / 2) - 120; coin2._x = (Stage.width / 2) - 180; coin1._y = 180; coin2._y = 180; createBlock(2); block1._x = Stage.width / 2; block1._y = 0; block1._yscale = Stage.height / 2; block2._x = Stage.width / 2; block2._y = Stage.height - 100; block2._yscale = Stage.height / 2; createMovingBlock(200, Stage.height / 2, (Stage.height - 100) / 2); block_moving._x = Stage.width / 2; block_moving._y = (Stage.height / 2) / 2; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 12 : levelText = ("Level " + level) + "\n\nTiming, timing, timing..."; ball_xpos = (Stage.width / 2) - 150; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 150; finish_ypos = 150; xpos = (Stage.width / 2) - 150; ypos = 300; xpos2 = (Stage.width / 2) + 150; ypos2 = 300; coins = 2; coinsNeeded = coins; createCoins(coins); coin1._x = (Stage.width / 2) - 50; coin2._x = (Stage.width / 2) + 50; coin1._y = 180; coin2._y = 180; createMovingBlock(200, Stage.height / 2, Stage.height / 2); block_moving._x = Stage.width / 2; block_moving._y = (Stage.height / 2) / 2; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 13 : levelText = ("Level " + level) + "\n\nHow...?"; ball_xpos = (Stage.width / 2) - 225; ball_ypos = 100; finish_xpos = (Stage.width / 2) + 150; finish_ypos = 150; xpos = (Stage.width / 2) - 225; ypos = 400; xpos2 = (Stage.width / 2) + 150; ypos2 = 400; coins = 0; coinsNeeded = coins; createCoins(coins); createBlock(2); block1._x = Stage.width - block1._width; block1._y = Stage.height / 2; block1._yscale = Stage.height; block2._x = (Stage.width / 2) + 100; block2._y = 100; block2._yscale = 200; createDeathBlock(1); block_death1._x = (Stage.width / 2) + 151.5; block_death1._y = 199; block_death1._rotation = 90; block_death1._yscale = 100; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 14 : levelText = ("Level " + level) + "\n\nSkills...?"; ball_xpos = 70; ball_ypos = 100; finish_xpos = Stage.width - 150; finish_ypos = 400; xpos = 70; ypos = 400; xpos2 = -900; ypos2 = 0; coins = 0; coinsNeeded = coins; createCoins(coins); createBlock(2); block1._x = 4; block1._y = Stage.height / 2; block1._yscale = Stage.height; block2._x = 130; block2._y = Stage.height / 2; block2._yscale = 175; createDeathBlock(3); block_death1._x = Stage.width / 2; block_death1._y = Stage.height; block_death1._yscale = Stage.height; block_death2._x = 130; block_death2._y = (Stage.height / 2) - 90; block_death2._yscale = 5; block_death2._xscale = 200; block_death3._x = 130; block_death3._y = (Stage.height / 2) + 90; block_death3._yscale = 5; block_death3._xscale = 200; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; case 15 : levelText = ("Level " + level) + "\n\nThe final level!"; ball_xpos = (Stage.width / 2) - 150; ball_ypos = 150; finish_xpos = (Stage.width / 2) + 150; finish_ypos = 150; xpos = (Stage.width / 2) - 150; ypos = 400; xpos2 = (Stage.width / 2) + 150; ypos2 = 400; coins = 6; coinsNeeded = coins; createCoins(coins); coin1._x = (Stage.width / 2) - 200; coin1._y = 160; coin2._x = (Stage.width / 2) - 200; coin2._y = 200; coin3._x = Stage.width / 2; coin3._y = 160; coin4._x = Stage.width / 2; coin4._y = 200; coin5._x = (Stage.width / 2) + 200; coin5._y = 160; coin6._x = (Stage.width / 2) + 200; coin6._y = 200; createDeathBlock(2); block_death1._x = Stage.width / 2; block_death1._y = (Stage.height / 2) + 100; block_death1._yscale = 200; block_death1._xscale = 800; block_death2._x = Stage.width / 2; block_death2._y = (Stage.height / 2) + 300; block_death2._yscale = 200; block_death2._xscale = 800; createBlock(1); block1._x = Stage.width / 2; block1._y = 20; block1._yscale = 200; block1._xscale = 800; createMovingBlock(100, 200, 40); block_moving._x = Stage.width / 2; block_moving._y = (Stage.height / 2) / 2; block_moving._xscale = 800; attachMovie("node", "node1_1", -1, {_x:xpos - 50, _y:ypos}); attachMovie("node", "node1_2", -2, {_x:xpos + 50, _y:ypos}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:xpos2 - 50, _y:ypos2}); attachMovie("node", "node2_2", -5, {_x:xpos2 + 50, _y:ypos2}); _root.createEmptyMovieClip("line2", -6); break; default : level--; drawLevel(level); } } _root.attachMovie("level_info", "level_info", 998, {_x:10, _y:10}); _root.attachMovie("finish", "finish", 999); _root.attachMovie("ball", "ball", 1000); _root.createEmptyMovieClip("black_bg", 1001); _root.attachMovie("description", "description", 1002, {_x:Stage.width / 2, _y:Stage.height / 2}); black_bg.clear(); black_bg.beginFill(0, 100); black_bg.moveTo(0, 0); black_bg.lineTo(640, 0); black_bg.lineTo(640, 480); black_bg.lineTo(0, 480); black_bg.endFill(); black_bg._alpha = 0; var dragging = false; var acc = {x:0, y:0}; var vel = {x:0, y:0}; var gravity = 0.2; var radius = ((ball._height / 2) - 1); var forced = false; var forced2 = false; var ready = false; var ready2 = false; var angle1 = 0; var angle2 = 0; var elasticCoefficient = 0.015; var pauseGame = false; var slinging = false; var slinging2 = false; var level = 1; var xpos = 0; var ypos = 0; var xpos2 = 0; var ypos2 = 0; var ball_xpos = 0; var ball_ypos = 0; var finish_xpos = 0; var finish_ypos = 0; var coinsCollected = 0; var wallHit = false; drawLevel(level); ball.onEnterFrame = function () { if (pauseGame) { ball._x = ball_xpos; ball._y = ball_ypos; finish._x = finish_xpos; finish._y = finish_ypos; if (Key.isDown(32)) { black_bg._alpha = 0; description._alpha = 0; description.enabled = false; description.descriptionText.text = ""; pauseGame = false; } } if (Key.isDown(37) and (!pauseGame)) { vel.x = vel.x - 0.1; } else if (Key.isDown(39) and (!pauseGame)) { vel.x = vel.x + 0.1; } if ((ball._x - radius) < 0) { vel.x = vel.x + Math.sqrt(vel.x * vel.x); } else if ((ball._x + radius) > 640) { vel.x = vel.x - Math.sqrt(vel.x * vel.x); } if ((ball._y > Stage.height) and (!ready2)) { reset(); } if (this.hitTest(finish) and (coinsCollected >= coinsNeeded)) { node1_1.removeMovieClip(); node1_2.removeMovieClip(); node2_1.removeMovieClip(); node2_2.removeMovieClip(); line.removeMovieClip(); line2.removeMovieClip(); var _local3 = 1; while (_local3 <= coins) { _root["coin" + _local3].removeMovieClip(); _local3++; } _local3 = 1; while (_local3 <= 10) { _root["block" + _local3].removeMovieClip(); _local3++; } _local3 = 1; while (_local3 <= 10) { _root["block_death" + _local3].removeMovieClip(); _local3++; } block_moving.removeMovieClip(); if (level == 15) { ball.removeMovieClip(); finish.removeMovieClip(); level_info.removeMovieClip(); node1_1.removeMovieClip(); node1_2.removeMovieClip(); node2_1.removeMovieClip(); node2_2.removeMovieClip(); _local3 = 1; while (_local3 <= coins) { _root["coin" + _local3].removeMovieClip(); _local3++; } _local3 = 1; while (_local3 <= 10) { _root["block" + _local3].removeMovieClip(); _local3++; } _local3 = 1; while (_local3 <= 10) { _root["block_death" + _local3].removeMovieClip(); _local3++; } block_moving.removeMovieClip(); attachMovie("node", "node1_1", -1, {_x:0, _y:-100}); attachMovie("node", "node1_2", -2, {_x:0, _y:-100}); _root.createEmptyMovieClip("line", -3); attachMovie("node", "node2_1", -4, {_x:0, _y:-100}); attachMovie("node", "node2_2", -5, {_x:0, _y:-100}); _root.createEmptyMovieClip("line2", -6); gotoAndStop (6); } else { level++; drawLevel(level); } } ball_radian = Math.atan2(vel.y, vel.x); ball_angle = (ball_radian * 180) / Math.PI; ball._x = ball._x + vel.x; ball._y = ball._y + vel.y; }; this.onEnterFrame = function () { line.clear(); line.lineStyle(2, 0); if ((((ball._y + radius) < node1_1._y) and (ball._x > node1_1._x)) and (ball._x < node1_2._x)) { ready = true; } else if ((ball._x < node1_1._x) or (ball._x > node1_2._x)) { ready = false; } if (((((ball._y + radius) > node1_1._y) and (ball._x > node1_1._x)) and (ball._x < node1_2._x)) and ready) { slinging = true; } else if (ball._y < node1_1._y) { slinging = false; } if (slinging == true) { forced = true; var _local5 = ball._x - node1_1._x; var _local3 = ball._y - node1_1._y; var _local4 = node1_2._x - ball._x; var _local2 = node1_2._y - ball._y; var _local6 = Math.sqrt((_local5 * _local5) + (_local3 * _local3)); var _local7 = Math.sqrt((_local4 * _local4) + (_local2 * _local2)); _root.angle1 = Math.atan2(_local3, _local5); _root.angle2 = Math.atan2(_local2, _local4); var _local11 = Math.cos(angle1 + (Math.PI/2)) * radius; var _local10 = Math.sin(angle1 + (Math.PI/2)) * radius; var _local8 = Math.cos(angle2 + (Math.PI/2)) * radius; var _local9 = Math.sin(angle2 + (Math.PI/2)) * radius; angle1 = angle1 + Math.sin(radius / _local6); angle2 = angle2 + (Math.sin(radius / _local7) * -1); line.moveTo(node1_1._x, node1_1._y); line.lineTo(ball._x + _local11, ball._y + _local10); line.moveTo(node1_2._x, node1_2._y); line.lineTo(ball._x + _local8, ball._y + _local9); } if (slinging == false) { forced = false; line.moveTo(node1_1._x, node1_1._y); line.lineTo(node1_2._x, node1_2._y); } line2.clear(); line2.lineStyle(2, 0); if ((((ball._y + radius) < node2_1._y) and (ball._x > node2_1._x)) and (ball._x < node2_2._x)) { ready2 = true; } else if ((ball._x < node2_1._x) or (ball._x > node2_2._x)) { ready2 = false; } if (((((ball._y + radius) > node2_1._y) and (ball._x > node2_1._x)) and (ball._x < node2_2._x)) and ready2) { slinging2 = true; } else if (ball._y < node2_1._y) { slinging2 = false; } if (slinging2 == true) { forced2 = true; var _local5 = ball._x - node2_1._x; var _local3 = ball._y - node2_1._y; var _local4 = node2_2._x - ball._x; var _local2 = node2_2._y - ball._y; var _local6 = Math.sqrt((_local5 * _local5) + (_local3 * _local3)); var _local7 = Math.sqrt((_local4 * _local4) + (_local2 * _local2)); _root.angle1 = Math.atan2(_local3, _local5); _root.angle2 = Math.atan2(_local2, _local4); var _local11 = Math.cos(angle1 + (Math.PI/2)) * radius; var _local10 = Math.sin(angle1 + (Math.PI/2)) * radius; var _local8 = Math.cos(angle2 + (Math.PI/2)) * radius; var _local9 = Math.sin(angle2 + (Math.PI/2)) * radius; angle1 = angle1 + Math.sin(radius / _local6); angle2 = angle2 + (Math.sin(radius / _local7) * -1); line2.moveTo(node2_1._x, node2_1._y); line2.lineTo(ball._x + _local11, ball._y + _local10); line2.moveTo(node2_2._x, node2_2._y); line2.lineTo(ball._x + _local8, ball._y + _local9); } if (slinging2 == false) { forced2 = false; line2.moveTo(node2_1._x, node2_1._y); line2.lineTo(node2_2._x, node2_2._y); } acc.x = 0; acc.y = 0; acc.y = gravity; if (forced or forced2) { acc.x = acc.x + ((_local6 * Math.sin(angle2)) * elasticCoefficient); acc.y = acc.y + (((-_local6) * Math.cos(angle1)) * elasticCoefficient); acc.x = acc.x + ((_local7 * Math.sin(angle1)) * elasticCoefficient); acc.y = acc.y + (((-_local7) * Math.cos(angle2)) * elasticCoefficient); } vel.x = vel.x + acc.x; vel.y = vel.y + acc.y; }; description.onEnterFrame = function () { if (pauseGame) { vel.x = 0; vel.y = 0; description.descriptionText.text = levelText; } }; level_info.onEnterFrame = function () { this.levelInfo.text = (((("Level " + level) + "\nCoins: ") + coinsCollected) + "/") + coinsNeeded; };
Frame 6
menu_btn.onPress = function () { gotoAndStop (3); };
Symbol 48 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd { function MochiAd () { } static function getVersion() { return("2.3"); } static function showPreGameAd(options) { var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () { this.clip.stop(); }, ad_finished:function () { this.clip.play(); }, ad_failed:function () { trace("[MochAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_loaded:function (width, height) { }}; options = _parseOptions(options, _local27); if ("5cc6f7dfb67f2f08341c831480f7c2a7".length == 0) { options.ad_started(); options.ad_finished(); return(undefined); } var clip = options.clip; var _local23 = 11000; var _local26 = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!load(options)) { options.ad_failed(); options.ad_finished(); return(undefined); } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function () { options.ad_finished(); }; var _local14 = _getRes(options); var _local4 = _local14[0]; var _local13 = _local14[1]; mc._x = _local4 * 0.5; mc._y = _local13 * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait", 3); chk._x = _local4 * -0.5; chk._y = _local13 * -0.5; var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4); _local7._x = 10; _local7._y = _local13 - 20; var _local22 = options.color; delete options.color; var _local19 = options.background; delete options.background; var _local24 = options.outline; delete options.outline; var _local5 = _local7.createEmptyMovieClip("_outline", 1); _local5.beginFill(_local19); _local5.moveTo(0, 0); _local5.lineTo(_local4 - 20, 0); _local5.lineTo(_local4 - 20, 10); _local5.lineTo(0, 10); _local5.lineTo(0, 0); _local5.endFill(); var _local3 = _local7.createEmptyMovieClip("_inside", 2); _local3.beginFill(_local22); _local3.moveTo(0, 0); _local3.lineTo(_local4 - 20, 0); _local3.lineTo(_local4 - 20, 10); _local3.lineTo(0, 10); _local3.lineTo(0, 0); _local3.endFill(); _local3._xscale = 0; var _local6 = _local7.createEmptyMovieClip("_outline", 3); _local6.lineStyle(0, _local24, 100); _local6.moveTo(0, 0); _local6.lineTo(_local4 - 20, 0); _local6.lineTo(_local4 - 20, 10); _local6.lineTo(0, 10); _local6.lineTo(0, 0); chk.ad_msec = _local23; chk.ad_timeout = _local26; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function () { var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)); if (_local2 > 0) { this._parent._alpha = _local2; } else { var _local3 = this._parent._parent; MochiAd.unload(_local3); delete this.onEnterFrame; } }; mc.lc.adLoaded = options.ad_loaded; mc.lc.adjustProgress = function (msec) { var _local2 = this.mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = msec; }; chk.onEnterFrame = function () { var _local6 = this._parent._parent; var _local12 = this._parent._mochiad_ctr; var _local5 = getTimer() - this.started; var _local3 = false; var _local4 = _local6.getBytesTotal(); var _local8 = _local6.getBytesLoaded(); var _local10 = (100 * _local8) / _local4; var _local11 = (100 * _local5) / chk.ad_msec; var _local9 = this._mochiad_bar._inside; var _local2 = Math.min(100, Math.min(_local10 || 0, _local11)); _local2 = Math.max(this.last_pcnt, _local2); this.last_pcnt = _local2; _local9._xscale = _local2; if (!chk.showing) { var _local7 = _local12.getBytesTotal(); if ((_local7 > 0) || (typeof(_local7) == "undefined")) { chk.showing = true; chk.started = getTimer(); } else if (_local5 > chk.ad_timeout) { options.ad_failed(); _local3 = true; } } if (_local5 > chk.ad_msec) { _local3 = true; } if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) { if (this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; } } }; } static function showInterLevelAd(options) { var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () { this.clip.stop(); }, ad_finished:function () { this.clip.play(); }, ad_failed:function () { trace("[MochAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_loaded:function (width, height) { }}; options = _parseOptions(options, _local13); var clip = options.clip; var _local10 = 11000; var _local12 = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!load(options)) { options.ad_failed(); options.ad_finished(); return(undefined); } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function () { options.ad_finished(); }; var _local5 = _getRes(options); var _local14 = _local5[0]; var _local11 = _local5[1]; mc._x = _local14 * 0.5; mc._y = _local11 * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait", 3); chk.ad_msec = _local10; chk.ad_timeout = _local12; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function () { var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)); if (_local2 > 0) { this._parent._alpha = _local2; } else { var _local3 = this._parent._parent; MochiAd.unload(_local3); delete this.onEnterFrame; } }; mc.lc.adLoaded = options.ad_loaded; mc.lc.adjustProgress = function (msec) { var _local2 = this.mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = msec - 250; }; chk.onEnterFrame = function () { var _local5 = this._parent._mochiad_ctr; var _local4 = getTimer() - this.started; var _local2 = false; if (!chk.showing) { var _local3 = _local5.getBytesTotal(); if ((_local3 > 0) || (typeof(_local3) == "undefined")) { chk.showing = true; chk.started = getTimer(); } else if (_local4 > chk.ad_timeout) { options.ad_failed(); _local2 = true; } } if (_local4 > chk.ad_msec) { _local2 = true; } if (_local2) { if (this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; } } }; } static function showTimedAd(options) { trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); showInterLevelAd(options); } static function showPreloaderAd(options) { trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); showPreGameAd(options); } static function _allowDomains(server) { var _local1 = server.split("/")[2].split(":")[0]; if (System.security) { if (System.security.allowDomain) { System.security.allowDomain("*"); System.security.allowDomain(_local1); } if (System.security.allowInsecureDomain) { System.security.allowInsecureDomain("*"); System.security.allowInsecureDomain(_local1); } } return(_local1); } static function _loadCommunicator(options) { var _local26 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"}; options = _parseOptions(options, _local26); options.swfv = options.clip.getSWFVersion() || 6; options.mav = getVersion(); var _local18 = options.clip; var _local20 = "_mochiad_com_" + options.id; if (!_isNetworkAvailable()) { return(null); } if (_local18[_local20]) { return(_local18[_local20].lc); } var _local21 = options.com_server + options.id; _allowDomains(_local21); delete options.id; delete options.com_server; var _local25 = options.depth; delete options.depth; var _local17 = _local18.createEmptyMovieClip(_local20, _local25); var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1); for (var _local15 in options) { _local11[_local15] = options[_local15]; } var _local6 = new LocalConnection(); var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_"); _local6.mc = _local17; _local6.name = _local16; _local6.allowDomain = function (d) { return(true); }; _local6.allowInsecureDomain = _local6.allowDomain; _local6.connect(_local16); _local17.lc = _local6; _local11.lc = _local16; _local6._id = 0; _local6._queue = []; _local6.rpcResult = function (cb_arg) { var _local8 = parseInt(cb_arg); var _local4 = this._callbacks[_local8]; if (!_local4) { return(undefined); } delete this._callbacks[_local8]; var _local5 = []; var _local3 = 2; while (_local3 < _local4.length) { _local5.push(_local4[_local3]); _local3++; } _local3 = 1; while (_local3 < arguments.length) { _local5.push(arguments[_local3]); _local3++; } var _local6 = _local4[1]; var _local7 = _local4[0]; if (_local7 && (typeof(_local6) == "string")) { _local6 = _local7[_local6]; } if (_local6) { _local6.apply(_local7, _local5); } }; _local6._didConnect = function (endpoint) { this._endpoint = endpoint; var _local4 = this._queue; delete this._queue; var _local5 = this.doSend; var _local2 = 0; while (_local2 < _local4.length) { var _local3 = _local4[_local2]; _local5.apply(this, _local3); _local2++; } }; _local6.doSend = function (args, cbobj, cbfn) { if (this._endpoint == null) { var _local4 = []; var _local3 = 0; while (_local3 < arguments.length) { _local4.push(arguments[_local3]); _local3++; } this._queue.push(_local4); return(undefined); } this._id = this._id + 1; var _local5 = this._id; if ((cbfn === undefined) || (cbfn === null)) { cbfn = cbobj; } this._callbacks[_local5] = [cbobj, cbfn]; var _local7 = new LocalConnection(); var _local9 = _local7.send(this._endpoint, "rpc", _local5, args); }; _local6._callbacks = {}; _local6._callbacks[0] = [_local6, "_didConnect"]; _local11.st = getTimer(); _local11.loadMovie(_local21 + ".swf", "POST"); return(_local6); } static function fetchHighScores(options, callbackObj, callbackMethod) { var _local1 = _loadCommunicator({id:options.id}); if (!_local1) { return(false); } var _local4 = ["fetchHighScores", options]; _local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod); return(true); } static function sendHighScore(options, callbackObj, callbackMethod) { var _local1 = _loadCommunicator({id:options.id}); if (!_local1) { return(false); } var _local4 = ["sendHighScore", options]; _local1.doSend(["sendHighScore", options], callbackObj, callbackMethod); return(true); } static function load(options) { var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = _parseOptions(options, _local13); options.swfv = options.clip.getSWFVersion() || 6; options.mav = getVersion(); var _local9 = options.clip; if (!_isNetworkAvailable()) { return(null); } if (_local9._mochiad_loaded) { return(null); } var _local12 = options.depth; delete options.depth; var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12); var _local11 = _getRes(options); options.res = (_local11[0] + "x") + _local11[1]; options.server = options.server + options.id; delete options.id; _local9._mochiad_loaded = true; var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1); for (var _local7 in options) { _local4[_local7] = options[_local7]; } var _local10 = _local4.server; delete _local4.server; var _local14 = _allowDomains(_local10); _local6.onEnterFrame = function () { if (this._mochiad_ctr._url != this._url) { this.onEnterFrame = function () { if (!this._mochiad_ctr) { delete this.onEnterFrame; MochiAd.unload(this._parent); } }; } }; var _local5 = new LocalConnection(); var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_"); _local5.mc = _local6; _local5.name = _local8; _local5.hostname = _local14; _local5.allowDomain = function (d) { return(true); }; _local5.allowInsecureDomain = _local5.allowDomain; _local5.connect(_local8); _local6.lc = _local5; _local4.lc = _local8; _local4.st = getTimer(); _local4.loadMovie(_local10 + ".swf", "POST"); return(_local6); } static function unload(clip) { if (typeof(clip) == "undefined") { clip = _root; } if (clip.clip && (clip.clip._mochiad)) { clip = clip.clip; } if (!clip._mochiad) { return(false); } clip._mochiad.removeMovieClip(); delete clip._mochiad_loaded; delete clip._mochiad; return(true); } static function _isNetworkAvailable() { if (System.security) { var _local1 = System.security; if (_local1.sandboxType == "localWithFile") { return(false); } } return(true); } static function _getRes(options) { var _local3 = options.clip.getBounds(); var _local2 = 0; var _local1 = 0; if (typeof(options.res) != "undefined") { var _local4 = options.res.split("x"); _local2 = parseFloat(_local4[0]); _local1 = parseFloat(_local4[1]); } else { _local2 = _local3.xMax - _local3.xMin; _local1 = _local3.yMax - _local3.yMin; } if ((_local2 == 0) || (_local1 == 0)) { _local2 = Stage.width; _local1 = Stage.height; } return([_local2, _local1]); } static function _parseOptions(options, defaults) { var _local4 = {}; for (var _local8 in defaults) { _local4[_local8] = defaults[_local8]; } if (options) { for (var _local8 in options) { _local4[_local8] = options[_local8]; } } if (_root.mochiad_options) { var _local5 = _root.mochiad_options.split("&"); var _local2 = 0; while (_local2 < _local5.length) { var _local3 = _local5[_local2].split("="); _local4[unescape(_local3[0])] = unescape(_local3[1]); _local2++; } } if (_local4.id == "test") { trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); } return(_local4); } }

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip [cloud]Uses:1
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClip [ball]Uses:3
Symbol 5 MovieClip [node]
Symbol 6 GraphicUsed by:10
Symbol 7 FontUsed by:8 9 15 25 26 27 28 29 32 33 34 35 36 39 41 43 44 47
Symbol 8 EditableTextUses:7Used by:10
Symbol 9 TextUses:7Used by:10
Symbol 10 MovieClip [description]Uses:6 8 9
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClip [coin]Uses:11
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClip [finish]Uses:13
Symbol 15 EditableTextUses:7Used by:16
Symbol 16 MovieClip [level_info]Uses:15
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClip [block_red]Uses:17
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClip [block]Uses:19
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClip [rocket]Uses:21
Symbol 23 GraphicUsed by:Timeline
Symbol 48 MovieClip [__Packages.MochiAd]
Symbol 24 GraphicUsed by:Timeline
Symbol 25 EditableTextUses:7Used by:Timeline
Symbol 26 EditableTextUses:7Used by:Timeline
Symbol 27 TextUses:7Used by:Timeline
Symbol 28 EditableTextUses:7Used by:Timeline
Symbol 29 EditableTextUses:7Used by:Timeline
Symbol 30 GraphicUsed by:31
Symbol 31 ButtonUses:30Used by:Timeline
Symbol 32 TextUses:7Used by:Timeline
Symbol 33 TextUses:7Used by:Timeline
Symbol 34 EditableTextUses:7Used by:Timeline
Symbol 35 EditableTextUses:7Used by:Timeline
Symbol 36 TextUses:7Used by:Timeline
Symbol 37 FontUsed by:38 40 42 45 46
Symbol 38 EditableTextUses:37Used by:Timeline
Symbol 39 EditableTextUses:7Used by:Timeline
Symbol 40 EditableTextUses:37Used by:Timeline
Symbol 41 EditableTextUses:7Used by:Timeline
Symbol 42 EditableTextUses:37Used by:Timeline
Symbol 43 EditableTextUses:7Used by:Timeline
Symbol 44 EditableTextUses:7Used by:Timeline
Symbol 45 EditableTextUses:37Used by:Timeline
Symbol 46 EditableTextUses:37Used by:Timeline
Symbol 47 TextUses:7Used by:Timeline

Instance Names

"progressText"Frame 2Symbol 25 EditableText
"btn_play"Frame 3Symbol 31 Button
"btn_instructions"Frame 3Symbol 31 Button
"btn_back"Frame 4Symbol 31 Button
"menu_btn"Frame 6Symbol 31 Button
"descriptionText"Symbol 10 MovieClip [description] Frame 1Symbol 8 EditableText
"levelInfo"Symbol 16 MovieClip [level_info] Frame 1Symbol 15 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 2 as "cloud"
ExportAssets (56)Timeline Frame 1Symbol 4 as "ball"
ExportAssets (56)Timeline Frame 1Symbol 5 as "node"
ExportAssets (56)Timeline Frame 1Symbol 10 as "description"
ExportAssets (56)Timeline Frame 1Symbol 12 as "coin"
ExportAssets (56)Timeline Frame 1Symbol 14 as "finish"
ExportAssets (56)Timeline Frame 1Symbol 16 as "level_info"
ExportAssets (56)Timeline Frame 1Symbol 18 as "block_red"
ExportAssets (56)Timeline Frame 1Symbol 20 as "block"
ExportAssets (56)Timeline Frame 1Symbol 22 as "rocket"
ExportAssets (56)Timeline Frame 1Symbol 48 as "__Packages.MochiAd"




http://swfchan.com/7/30286/info.shtml
Created: 19/5 -2019 11:36:24 Last modified: 19/5 -2019 11:36:24 Server time: 11/05 -2024 12:41:11