Frame 1
function goReg() {
var _local1 = "http://www.lig.co.kr/hopecenter/event_ongoing/event_ongoing_view_01.shtml?vir";
getURL (_local1, "_blank", "POST");
}
function replay() {
_SB.setAllStop();
gotoAndStop ("intro");
}
stop();
_quality = "BEST";
_global._r = this;
fscommand ("allowscale", false);
_focusrect = false;
var loadListener = {};
loadListener.onLoadProgress = function (gBL, gBT, ratio) {
load_mc.bar_mc._xscale = ratio * 100;
};
loadListener.onLoadComplete = function () {
gotoAndStop ("intro");
};
load_mc.onEnterFrame = function () {
var _local3 = _root.getBytesTotal();
var _local4 = _root.getBytesLoaded();
var _local5 = _local4 / _local3;
loadListener.onLoadProgress(_local4, _local3, _local5);
if (_local3 == _local4) {
this.onEnterFrame = null;
loadListener.onLoadComplete();
}
};
Frame 10
function openHelp() {
}
function startGame() {
_SB.loop.stop();
gotoAndStop ("game");
}
stop();
_global._SB = new game.sound.SoundBox(this.createEmptyMovieClip("soundbox_mc", 10));
_SB.attachAllSound("btn:30", "goalpost", "goalin:100", "korea:100", "loop:30", "ballbound:70", "ballkick:120", "voiceloop:80", "whistle:100");
Frame 20
stop();
Symbol 2 MovieClip [att_arrow] Frame 1
stop();
Symbol 722 MovieClip [__Packages.game.sound.SoundBox] Frame 0
class game.sound.SoundBox
{
var soundbox_mc, soundbox;
function SoundBox (mc) {
trace("soundbox_Class Loaded");
soundbox_mc = mc;
soundbox = new Sound(mc);
}
function attachAllSound() {
for (var _local6 in arguments) {
var _local4 = arguments[_local6].split(":");
var _local5 = _local4[0].split("_");
var _local3 = _local4[0];
soundbox_mc.createEmptyMovieClip(_local3 + "_mc", dep++);
this[_local3] = new Sound(soundbox_mc[_local3 + "_mc"]);
this[_local3].attachSound(_local5[0]);
if (_local4[1] == undefined) {
this[_local3].setVolume(100);
} else {
this[_local3].setVolume(Number(_local4[1]));
}
soundbox_arr[_local6] = this[_local3];
}
}
function setAllStop() {
for (var _local2 in this) {
if (this[_local2] instanceof Sound) {
this[_local2].stop();
}
}
}
function setAllMute() {
soundbox.setVolume(0);
}
function setAllOn() {
soundbox.setVolume(100);
}
function fadeIn(s, tv, df, B) {
fade("IN", s, tv, df, B);
}
function fadeOut(s, tv, df, B) {
fade("OUT", s, tv, df, B);
}
function fade(tog, s, tv, df, B) {
if ((tog == "IN") && (B)) {
this[s].start(0, 99999);
}
var _local2 = soundbox_mc[s + "_mc"];
var owner = this;
_local2.cv = this[s].getVolume();
_local2.dv = (tv - _local2.cv) / df;
_local2.tv = tv;
_local2.df = df;
_local2.tog = tog;
_local2.count = 0;
_local2.onEnterFrame = function () {
this.count++;
this.cv = this.cv + this.dv;
owner[s].setVolume(Math.round(this.cv));
if (this.count == this.df) {
owner[s].setVolume(this.tv);
if ((tog == "OUT") && (B)) {
owner[s].stop();
}
this.onEnterFrame = null;
}
};
}
var dep = 0;
var soundbox_arr = [];
}
Symbol 723 MovieClip [__Packages.Game_freekick] Frame 0
class Game_freekick
{
var goal_num_mc, _SB, goalIn_mc, trans_mc, endingPop_mc, ui_mc, ballCount_mc, backGround_mc, spin_mc, w3d_mc, root, projection, goal_num, level, ballCount, dF, arrow_mc, hit_mc, wall_mc, wallShadow_mc, keeper_mc, keeperShadow_mc, state, ball_obj, ballShadow_obj, soundInterval;
function Game_freekick (root) {
goal_num_mc = root.goal_num_mc;
_SB = _global._SB;
goalIn_mc = root.goalIn_mc;
trans_mc = root.trans_mc;
endingPop_mc = root.endingPop_mc;
ui_mc = root.ui_mc;
ballCount_mc = root.ballCount_mc;
backGround_mc = root.backGround_mc;
spin_mc = root.spin_mc;
w3d_mc = root.w3d_mc;
this.root = root;
projection = new Projection(w3d_mc);
init();
}
function init() {
goal_num = 0;
_SB.korea.start(0, 999999);
_SB.voiceloop.start(0, 99999);
level = 1;
setLevel();
}
function callKorea() {
trace("\uBD88\uB7EC\uB77C\uCF54\uB9AC\uC544");
_SB.korea.start(0, 1);
}
function upLevel() {
level++;
setLevel();
}
function setLevel() {
ui_mc.gotoAndPlay("level" + level);
spin_mc._visible = false;
setArrow();
projection.setLevel(level);
ballCount = 10;
viewBallCount();
setBG();
setHitArea();
setBallEvent();
if (level == 1) {
dF = 70;
} else if (level == 2) {
dF = 70;
}
}
function viewBallCount() {
ballCount_mc.txt.text = ballCount;
}
function setArrow() {
arrow_mc = w3d_mc.createEmptyMovieClip("arrow_mc", w3d_mc.getNextHighestDepth());
arrow_mc.attachMovie("att_arrow", "arrow", arrow_mc.getNextHighestDepth());
arrow_mc._visible = false;
}
function setBG() {
backGround_mc.gotoAndStop("bg" + level);
backGround_mc.keeper_mc.gotoAndStop("level" + level);
backGround_mc.keeperShadow_mc.gotoAndStop("level" + level);
}
function setHitArea() {
hit_mc = backGround_mc.hit_mc;
hit_mc.gotoAndStop("hit" + level);
wall_mc = backGround_mc.wall_mc;
wallShadow_mc = backGround_mc.wallShadow_mc;
keeper_mc = backGround_mc.keeper_mc.mc;
keeperShadow_mc = backGround_mc.keeperShadow_mc.mc;
keeper_mc.inix = keeper_mc._x;
keeperShadow_mc.initx = keeperShadow_mc._x;
}
function setBallEvent() {
_SB.whistle.start(0, 1);
state = "ready";
var owner = this;
ball_obj = projection.getBall();
ballShadow_obj = projection.getBallShadow();
setControll();
ball_obj.mc.onPress = function () {
if (owner.state == "ready") {
owner.spin_mc.gotoAndPlay(2);
owner.state = "control";
this.onEnterFrame = function () {
var _local7 = this._xmouse * 0.5;
var _local6 = this._ymouse;
var _local4 = _local6;
if (_local4 < 0) {
_local4 = _local4 * -1;
}
var _local3 = Math.atan2(_local4, _local7);
if (_local3 < 0.523598775598299) {
_local3 = 0.523598775598299;
}
if (_local3 > 2.61799387799149) {
_local3 = 2.61799387799149;
}
var _local2 = _local6 * 1.5;
_local3 = _local3 - (Math.PI/2);
if (_local2 < 10) {
_local2 = 10;
}
if (_local2 > 70) {
_local2 = 70;
}
_local2 = (_local2 * Math.PI) / 180;
var _local5 = owner.polarToCartesian(owner.dF, _local3, _local2);
owner.root.wr.text = (_local3 * 180) / Math.PI;
owner.root.hr.text = (_local2 * 180) / Math.PI;
owner.root.x.text = _local5.x;
owner.root.y.text = _local5.y;
owner.root.z.text = _local5.z;
this.F = _local5;
owner.spin_mc._visible = true;
owner.arrow_mc._visible = true;
};
}
};
ball_obj.mc.onRelease = (ball_obj.mc.onReleaseOutside = function () {
if (owner.state == "control") {
owner.spin_mc._visible = false;
owner.arrow_mc._visible = false;
this.onEnterFrame = null;
owner.spin_mc.stop();
this.F.s = owner.spin_mc.bar_mc._rotation / 70;
trace("owner.spin_mc.bar_mc._rotation== " + owner.spin_mc.bar_mc._rotation);
owner.shoot(this.F);
}
});
}
function getKeeperPoint(F, u) {
var _local3 = {x:F.x, y:F.y, z:F.z, s:F.s};
var _local2 = new Vertex(ball_obj.vt.wx, ball_obj.vt.wy, ball_obj.vt.wz);
var _local7;
var _local6;
var _local4;
if (level == 1) {
var _local12 = 1000;
} else if (level == 2) {
var _local12 = 1250;
var _local10 = 450;
}
var _local9 = 0;
var _local8 = true;
while ((_local9 < 10000) && (_local8)) {
_local9++;
_local3.y = _local3.y - G;
_local3.x = _local3.x * u;
_local3.y = _local3.y * u;
_local3.z = _local3.z * u;
_local3.x = _local3.x + _local3.s;
_local7 = _local2.wx + _local3.x;
_local6 = _local2.wy + _local3.y;
_local4 = _local2.wz + _local3.z;
if ((_local10 > _local2.wz) && (_local10 < _local4)) {
var _local11 = new Vertex(_local2.wx, _local2.wy, _local2.wz);
}
_local2.wx = _local7;
_local2.wy = _local6;
_local2.wz = _local4;
if (_local2.wz > _local12) {
_local8 = false;
break;
}
}
projection.transMatrix(_local11);
projection.transMatrix(_local2);
return(_local2);
}
function shoot(F) {
_SB.ballkick.start(0, 1);
state = "shooting";
ballCount--;
ui_mc.setCount(ballCount);
var owner = this;
var F = F;
var u = (1 - damp);
var vt = ball_obj.vt;
var shad_vt = ballShadow_obj.vt;
var tempx = vt.wx;
var tempy = vt.wy;
var tempz = vt.wz;
var isBound = false;
var prev_vt = new Vertex();
var tx;
var ty;
var tz;
var count = 0;
var keeperPoint = getKeeperPoint(F, u);
var keeperActionZ;
var keeperZoneZ;
var wallZoneZ;
if (level == 1) {
keeperActionZ = 300;
keeperZoneZ = 950;
} else if (level == 2) {
keeperActionZ = 700;
keeperZoneZ = 1200;
wallZoneZ = 450;
}
actionWall();
root.onEnterFrame = function () {
count++;
F.y = F.y - owner.G;
F.x = F.x * u;
F.y = F.y * u;
F.z = F.z * u;
F.x = F.x + F.s;
tx = vt.wx + F.x;
ty = vt.wy + F.y;
tz = vt.wz + F.z;
if (ty < 0) {
trace((("vt.sy== " + vt.sy) + "/") + owner.ball_obj.mc._visible);
if ((vt.sy < (375 - this.w3d_mc._y)) && (owner.ball_obj.mc._visible)) {
var _local2 = (1000 - tz) / 15;
if (_local2 < 0) {
_local2 = 0;
}
if (_local2 > 100) {
_local2 = 100;
}
owner._SB.ballbound.setVolume(_local2);
owner._SB.ballbound.start(0, 1);
}
ty = 1;
F.y = F.y * -0.8;
}
prev_vt.wx = tx;
prev_vt.wy = ty;
prev_vt.wz = tz;
if (!isBound) {
var _local3 = owner.projection.hitTestGoal(vt, prev_vt);
if (_local3) {
isBound = owner.hitTest(_local3);
if (isBound) {
owner._SB.goalpost.start(0, 1);
trace("\uACE8\uD3EC\uD2B8\uC2A4 \uB9DE\uC558\uB124");
F.z = F.z * -0.5;
F.s = 0;
} else {
owner._SB.goalin.start(0, 1);
trace("*******************\uACE8\uC778!!!*********");
F.x = 0;
F.y = 0;
F.z = 0;
F.s = 0;
u = 1;
owner.goalIn();
}
} else {
if ((keeperZoneZ > vt.wz) && (keeperZoneZ < tz)) {
isBound = owner.hitTestKeeper(vt);
if (isBound) {
owner._SB.ballbound.setVolume(80);
owner._SB.ballbound.start(0, 1);
trace("\uACE8\uD0A4\uD37C\uAC00 \uB9C9\uC558\uB124");
F.z = F.z * -0.5;
F.s = 0;
}
}
if ((wallZoneZ > vt.wz) && (wallZoneZ < tz)) {
isBound = owner.hitTestWall(vt);
if (isBound) {
owner._SB.ballbound.setVolume(100);
owner._SB.ballbound.start(0, 1);
trace("\uC218\uBE44\uC218\uAC00 \uB9C9\uC558\uB124");
F.y = F.y * 1.5;
F.z = F.z * -0.2;
F.s = 0;
} else {
var _local4 = new mx.transitions.Tween(owner.wall_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 5);
}
}
}
if ((keeperActionZ > vt.wz) && (keeperActionZ < tz)) {
owner.actionKeeper(keeperPoint);
}
}
shad_vt.wx = (vt.wx = tx);
vt.wy = ty;
shad_vt.wz = (vt.wz = tz);
tempx = tx;
tempy = ty;
tempz = tz;
owner.projection.renderBall();
if (count == 70) {
this.onEnterFrame = null;
owner.endShoot();
}
};
}
function setControll() {
spin_mc._x = ball_obj.vt.sx + w3d_mc._x;
spin_mc._y = (-ball_obj.vt.sy) + w3d_mc._y;
spin_mc._xscale = (spin_mc._yscale = (ball_obj.mc._xscale * 45) / 62);
}
function actionWall() {
var _local2 = random(3) + 1;
wall_mc["d" + _local2].gotoAndStop("jump");
wallShadow_mc["d" + _local2].gotoAndStop("jump");
}
function actionKeeper(keeperPoint) {
var _local5 = keeperPoint.sx;
var _local3 = keeperPoint.sy;
if (level == 1) {
_local3 = _local3 + 40;
var _local7 = 150;
var _local4 = 50;
} else if (level == 2) {
_local3 = _local3 + 42;
_local5 = _local5 - 7;
var _local7 = 80;
var _local4 = 60;
}
var _local2;
var _local6 = false;
if (_local5 < ((-_local7) / 4)) {
if (_local3 < (_local4 / 3)) {
_local2 = "L_bottom";
} else if (_local3 < ((_local4 / 3) * 2)) {
_local2 = "L_middle";
} else {
_local2 = "L_top";
}
} else if (_local5 > (_local7 / 4)) {
if (_local3 < (_local4 / 3)) {
_local2 = "R_bottom";
} else if (_local3 < ((_local4 / 3) * 2)) {
_local2 = "R_middle";
} else {
_local2 = "R_top";
}
} else {
if (_local3 < (_local4 / 3)) {
_local2 = "bottom";
} else if (_local3 < ((_local4 / 3) * 2)) {
_local2 = "middle";
} else {
_local2 = "top";
}
_local6 = true;
}
if (_local6) {
moveKeeperPos(_local5);
}
moveFrameKeeper(_local2);
}
function viewGoalNum() {
goal_num_mc.txt.text = goal_num;
}
function goalIn() {
goal_num++;
viewGoalNum();
var _local2 = this;
goalIn_mc.play();
goalIn_mc.onAniFinished = function () {
};
}
function clearLevel() {
var owner = this;
goalIn_mc.play();
goalIn_mc.onAniFinished = function () {
owner.nextLevel();
};
}
function nextLevel() {
projection.removeClips();
if (level == 2) {
chkGameover();
} else {
upLevel();
}
}
function endShoot() {
var owner = this;
trans_mc.play();
trans_mc.onChange = function () {
owner.nextShootReady();
};
}
function nextShootReady() {
resetWall();
resetKeeperPos();
if (ballCount == 0) {
nextLevel();
return(undefined);
}
viewBallCount();
spin_mc._visible = false;
projection.resetBall();
state = "ready";
_SB.whistle.start(0, 1);
}
function hitTest(vt) {
var _local3 = w3d_mc._x + vt.sx;
var _local2 = w3d_mc._y - vt.sy;
return(hit_mc.hitTest(_local3, _local2, true));
}
function hitTestKeeper(vt) {
var _local4 = w3d_mc._x + vt.sx;
var _local3 = w3d_mc._y - vt.sy;
var _local2 = Boolean(backGround_mc.keeperShadow_mc.hitTest(_local4, _local3, true));
return(_local2);
}
function hitTestWall(vt) {
var _local4 = w3d_mc._x + vt.sx;
var _local3 = w3d_mc._y - vt.sy;
var _local6 = Boolean(backGround_mc.wallShadow_mc.hitTest(_local4, _local3, true));
if (_local6) {
for (var _local5 in backGround_mc.wallShadow_mc) {
if (backGround_mc.wallShadow_mc[_local5].hitTest(_local4, _local3, true)) {
var _local2 = backGround_mc.wallShadow_mc[_local5]._name;
break;
}
}
backGround_mc.wall_mc[_local2].gotoAndStop("hit");
}
return(_local6);
}
function CartesianToPolar(x, y, z) {
var _local1 = {};
_local1.r = Math.sqrt(((x * x) + (y * y)) + (z * z));
_local1.hr = (Math.acos(z / _local1.r) * Math.PI) / 180;
_local1.wr = (Math.acos(x / Math.sqrt((x * x) + (y * y))) * Math.PI) / 180;
return(_local1);
}
function polarToCartesian(r, wr, hr) {
var _local2 = {};
var _local3 = new Vertex(0, 0, 70);
var _local4 = new Matrix4x4();
_local4.rotationCAxis(1, hr);
_local4.rotationCAxis(2, wr);
_local4.transformVertex(_local3);
_local2.x = _local3.mx;
_local2.y = -_local3.my;
_local2.z = _local3.mz;
drawArrow(_local2);
return(_local2);
}
function drawArrow(cc) {
arrow_mc.clear();
var _local2 = new Vertex(ball_obj.vt.wx + cc.x, ball_obj.vt.wy + cc.y, ball_obj.vt.wz + cc.z);
projection.transMatrix(_local2);
var _local6 = ball_obj.vt.sx;
var _local5 = -ball_obj.vt.sy;
var _local8 = _local2.sx;
var _local7 = -_local2.sy;
var _local10 = _local6 - _local8;
var _local9 = _local5 - _local7;
arrow_mc.arrow._x = _local6;
arrow_mc.arrow._y = _local5;
arrow_mc.arrow.gotoAndStop(Math.round(70 - _local10));
arrow_mc.arrow._height = _local9;
var _local3 = new Vertex(ball_obj.vt.wx + cc.x, ball_obj.vt.wy - 10, ball_obj.vt.wz + cc.z);
projection.transMatrix(_local3);
arrow_mc.lineStyle(2, 10066329, 100);
arrow_mc.moveTo(ball_obj.vt.sx, -ball_obj.vt.sy);
arrow_mc.lineTo(_local3.sx, -_local3.sy);
}
function drawArrow2(x, y, z) {
arrow_mc.clear();
var _local2 = new Vertex(x, y, z);
projection.transMatrix(_local2);
var _local5 = ball_obj.vt.sx;
var _local4 = -ball_obj.vt.sy;
var _local7 = _local2.sx;
var _local6 = -_local2.sy;
var _local9 = _local5 - _local7;
var _local8 = _local4 - _local6;
arrow_mc.arrow._x = _local5;
arrow_mc.arrow._y = _local4;
arrow_mc.arrow.gotoAndStop(Math.round(70 - _local9));
arrow_mc.arrow._height = _local8;
var _local3 = new Vertex(x, ball_obj.vt.wy, z);
projection.transMatrix(_local3);
arrow_mc.lineStyle(2, 6710886, 100);
arrow_mc.moveTo(ball_obj.vt.sx, -ball_obj.vt.sy);
arrow_mc.lineTo(_local3.sx, -_local3.sy);
}
function resetWall() {
wall_mc._alpha = 100;
for (var _local2 in wall_mc) {
wall_mc[_local2].gotoAndStop(1);
}
}
function resetKeeperPos() {
keeper_mc._x = keeper_mc.inix;
keeperShadow_mc._x = keeperShadow_mc.initx;
keeper_mc.gotoAndStop(1);
keeperShadow_mc.gotoAndStop(1);
}
function moveKeeperPos(x) {
keeper_mc._x = keeper_mc.inix + x;
keeperShadow_mc._x = keeperShadow_mc.initx + x;
}
function moveFrameKeeper(str) {
keeper_mc.gotoAndStop(str);
keeperShadow_mc.gotoAndStop(str);
}
function chkGameover() {
soundEnding();
if (goal_num == 0) {
gameover();
} else {
gameclear();
}
}
function gameover() {
trace("\uAC8C\uC784 \uC874\uB098\uBABB\uD558\uB124 \uC539\uC0C8");
endingPop_mc.gotoAndPlay("gameover");
}
function gameclear() {
trace("\uACE0\uC0DD\uD588\uB2E4 \uACE0\uB9CC\uD574\uB77C");
endingPop_mc.goal_num = goal_num;
endingPop_mc.gotoAndPlay("gameclear");
}
function soundEnding() {
clearInterval(soundInterval);
_SB.korea.stop();
_SB.voiceloop.stop();
_SB.loop.start(0, 9999);
}
var G = 1.96;
var damp = 0.01;
}
Symbol 724 MovieClip [__Packages.Projection] Frame 0
class Projection
{
var screen_mc, SCREEN_WIDTH, SCREEN_HEIGHT, level, _fov, Zn, Zf, Q, c_mtf, p_mtf, trans_mtf, bottomPoint_arr, goalPoint_arr, goalpost_plane, wallPoint_arr, wall_plane, ball_obj, ballShadow_obj, wall_mc, goalpost_mc;
function Projection (screen_mc) {
this.screen_mc = screen_mc;
SCREEN_WIDTH = 500;
SCREEN_HEIGHT = 375;
}
function init() {
if (level == 1) {
screen_mc._x = 250;
screen_mc._y = 170;
_fov = 2.0943951023932;
Zn = SCREEN_WIDTH / Math.tan(_fov / 2);
Zf = Zn + 2000;
Q = Zf / (Zf - Zn);
var _local2 = new Matrix4x4();
trace("w-------------------");
trace(_local2);
c_mtf = new Matrix4x4();
c_mtf.translate(0, -200, 0);
trace("c-------------------");
trace(c_mtf);
} else if (level == 2) {
screen_mc._x = 250;
screen_mc._y = 193;
_fov = 2.51327412287183;
Zn = SCREEN_WIDTH / Math.tan(_fov / 2);
Zf = Zn + 2000;
Q = Zf / (Zf - Zn);
var _local2 = new Matrix4x4();
trace("w-------------------");
trace(_local2);
c_mtf = new Matrix4x4();
c_mtf.translate(0, -140, 0);
trace("c-------------------");
trace(c_mtf);
}
p_mtf = new Matrix4x4();
p_mtf.m11 = 1 / Math.tan(_fov / 2);
p_mtf.m22 = 1 / Math.tan(_fov / 2);
p_mtf.m33 = Q;
p_mtf.m43 = 1;
p_mtf.tz = (-1 * Q) * Zn;
p_mtf.w = 0;
trace("p-------------------");
trace(p_mtf);
trans_mtf = p_mtf.clone();
trans_mtf.concat(c_mtf);
trans_mtf.concat(_local2);
trace("trans-------------------");
trace(trans_mtf);
setGoalPost();
setBall();
render();
}
function setLevel(level) {
this.level = level;
init();
}
function setBottomPoint() {
bottomPoint_arr = [];
var _local11 = 5;
var _local10 = 10;
var _local5 = 100;
var _local6 = 0;
var _local9 = ((_local11 - 1) * _local5) / 2;
var _local4 = 0;
while (_local4 < _local11) {
var _local2 = 0;
while (_local2 < _local10) {
var _local3 = screen_mc.getNextHighestDepth();
var _local7 = screen_mc.attachMovie("att_bottompoint", "bottompoint" + _local3, _local3);
bottomPoint_arr[_local6] = {vt:new Vertex((_local4 * _local5) - _local9, 0, Zn + (_local2 * _local5)), mc:_local7};
_local6++;
_local2++;
}
_local4++;
}
}
function removeClips() {
for (var _local2 in screen_mc) {
if (typeof(screen_mc[_local2]) == "movieclip") {
screen_mc[_local2].removeMovieClip();
}
}
}
function setGoalPost() {
if (level == 1) {
var _local7 = 1050;
var _local3 = 640;
var _local10 = 400;
goalPoint_arr = [];
var _local2 = new Vertex((-_local3) / 2, _local10, _local7);
var _local4 = new Vertex((-_local3) / 2, 0, _local7);
var _local5 = new Vertex(_local3 / 2, _local10, _local7);
var _local6 = new Vertex(_local3 / 2, 0, _local7);
var _local12 = new com.wis.math.alg.Vector(_local2.wx - _local4.wx, _local2.wy - _local4.wy, _local2.wz - _local4.wz);
var _local11 = new com.wis.math.alg.Vector(_local2.wx - _local5.wx, _local2.wy - _local5.wy, _local2.wz - _local5.wz);
var _local13 = com.wis.math.alg.Vector.cross(_local12, _local11);
trace("nomal vector= " + _local13);
var _local14 = -1 * com.wis.math.alg.Vector.dot(_local13, new com.wis.math.alg.Vector(_local6.wx, _local6.wy, _local6.wz));
trace(((((((("\uD3C9\uBA74\uBC29\uC815\uC2DD\uC740== " + _local13.x) + "x + ") + _local13.y) + "y + ") + _local13.z) + "z + ") + _local14) + " = 0");
goalpost_plane = {normal:_local13, D:_local14};
goalPoint_arr = [_local2, _local5, _local6, _local4];
} else if (level == 2) {
var _local7 = 1300;
var _local3 = 640;
var _local10 = 410;
var _local9 = 240;
var _local8 = 0.628318530717959;
goalPoint_arr = [];
var _local2 = new Vertex(((-_local3) / 2) + _local9, _local10, _local7);
var _local4 = new Vertex(((-_local3) / 2) + _local9, 0, _local7);
var _local5 = new Vertex((_local3 / 2) + _local9, _local10 + 10, _local7);
var _local6 = new Vertex((_local3 / 2) + _local9, 0, _local7);
_local5.wz = (_local3 * Math.sin(_local8)) + _local2.wz;
_local5.wx = (_local3 * Math.cos(_local8)) + _local2.wx;
_local6.wz = (_local3 * Math.sin(_local8)) + _local4.wz;
_local6.wx = (_local3 * Math.cos(_local8)) + _local4.wx;
var _local12 = new com.wis.math.alg.Vector(_local2.wx - _local4.wx, _local2.wy - _local4.wy, _local2.wz - _local4.wz);
var _local11 = new com.wis.math.alg.Vector(_local2.wx - _local5.wx, _local2.wy - _local5.wy, _local2.wz - _local5.wz);
var _local13 = com.wis.math.alg.Vector.cross(_local12, _local11);
trace("nomal vector= " + _local13);
var _local14 = -1 * com.wis.math.alg.Vector.dot(_local13, new com.wis.math.alg.Vector(_local6.wx, _local6.wy, _local6.wz));
trace(((((((("\uD3C9\uBA74\uBC29\uC815\uC2DD\uC740== " + _local13.x) + "x + ") + _local13.y) + "y + ") + _local13.z) + "z + ") + _local14) + " = 0");
goalpost_plane = {normal:_local13, D:_local14};
goalPoint_arr = [_local2, _local5, _local6, _local4];
}
}
function setWall() {
if (level == 2) {
var _local3 = 300;
var _local4 = 340;
var _local8 = 300;
wallPoint_arr = [];
var _local2 = new Vertex((-_local4) / 2, _local8, _local3);
var _local5 = new Vertex((-_local4) / 2, 0, _local3);
var _local6 = new Vertex(_local4 / 2, _local8, _local3);
var _local7 = new Vertex(_local4 / 2, 0, _local3);
var _local10 = new com.wis.math.alg.Vector(_local2.wx - _local5.wx, _local2.wy - _local5.wy, _local2.wz - _local5.wz);
var _local9 = new com.wis.math.alg.Vector(_local2.wx - _local6.wx, _local2.wy - _local6.wy, _local2.wz - _local6.wz);
var _local11 = com.wis.math.alg.Vector.cross(_local10, _local9);
var _local12 = -1 * com.wis.math.alg.Vector.dot(_local11, new com.wis.math.alg.Vector(_local7.wx, _local7.wy, _local7.wz));
wall_plane = {normal:_local11, D:_local12};
wallPoint_arr = [_local2, _local6, _local7, _local5];
}
}
function setBall() {
var _local2 = screen_mc.getNextHighestDepth();
var _local3 = screen_mc.attachMovie("att_ballshadow", "ballshadow" + _local2, _local2);
_local2 = screen_mc.getNextHighestDepth();
var _local4 = screen_mc.attachMovie("att_ball", "ball" + _local2, _local2);
ball_obj = {vt:new Vertex(0, _local4._height / 2, Zn - 50), mc:_local4};
ballShadow_obj = {vt:new Vertex(0, 0, Zn - 50), mc:_local3};
}
function resetBall() {
ball_obj.mc._xscale = (ball_obj.mc._yscale = 100);
ball_obj.mc.swapDepths(screen_mc.getNextHighestDepth());
ball_obj.vt.wx = 0;
ball_obj.vt.wy = ball_obj.mc._height / 2;
ball_obj.vt.wz = Zn - 50;
ballShadow_obj.mc._xscale = (ballShadow_obj.mc._yscale = 100);
ballShadow_obj.vt.wx = 0;
ballShadow_obj.vt.wy = 0;
ballShadow_obj.vt.wz = Zn - 50;
renderBall();
}
function render() {
renderBottomPoint();
renderBall();
}
function renderBall() {
var _local2 = ball_obj.vt;
var _local3 = ball_obj.mc;
transMatrix(_local2);
_local3._x = _local2.sx;
_local3._y = -_local2.sy;
var _local4 = 1 - _local2.sz;
_local3._xscale = (_local3._yscale = _local4 * 100);
_local3._visible = !Boolean((_local2.wz < 0) || (_local2.wz > Zf));
_local2 = ballShadow_obj.vt;
_local3 = ballShadow_obj.mc;
transMatrix(_local2);
_local3._x = _local2.sx;
_local3._y = -_local2.sy;
_local4 = 1 - _local2.sz;
_local3._xscale = (_local3._yscale = _local4 * 100);
_local3._visible = !Boolean((_local2.wz < 0) || (_local2.wz > Zf));
}
function transMatrix(v) {
trans_mtf.transformVertex(v);
v.sx = (v.mx / v.mw) * SCREEN_WIDTH;
v.sy = (v.my / v.mw) * SCREEN_HEIGHT;
v.sz = v.mz / v.mw;
}
function renderWall() {
var _local2 = 0;
while (_local2 < wallPoint_arr.length) {
var _local3 = wallPoint_arr[_local2];
transMatrix(_local3);
_local2++;
}
wall_mc = screen_mc.createEmptyMovieClip("wall_mc", screen_mc.getNextHighestDepth(), {_x:0, _y:0});
wall_mc.beginFill(16711680, 20);
wall_mc.lineStyle(2, 16711935, 100);
wall_mc.moveTo(wallPoint_arr[0].sx, -wallPoint_arr[0].sy);
wall_mc.lineTo(wallPoint_arr[1].sx, -wallPoint_arr[1].sy);
wall_mc.lineTo(wallPoint_arr[2].sx, -wallPoint_arr[2].sy);
wall_mc.lineTo(wallPoint_arr[3].sx, -wallPoint_arr[3].sy);
wall_mc.lineTo(wallPoint_arr[0].sx, -wallPoint_arr[0].sy);
wall_mc.endFill();
}
function renderGoalPost() {
var _local2 = 0;
while (_local2 < goalPoint_arr.length) {
var _local3 = goalPoint_arr[_local2];
transMatrix(_local3);
_local2++;
}
goalpost_mc = screen_mc.createEmptyMovieClip("goalpost_mc", screen_mc.getNextHighestDepth(), {_x:0, _y:0});
goalpost_mc.beginFill(16711680, 20);
goalpost_mc.lineStyle(2, 16711935, 100);
goalpost_mc.moveTo(goalPoint_arr[0].sx, -goalPoint_arr[0].sy);
goalpost_mc.lineTo(goalPoint_arr[1].sx, -goalPoint_arr[1].sy);
goalpost_mc.lineTo(goalPoint_arr[2].sx, -goalPoint_arr[2].sy);
goalpost_mc.lineTo(goalPoint_arr[3].sx, -goalPoint_arr[3].sy);
goalpost_mc.lineTo(goalPoint_arr[0].sx, -goalPoint_arr[0].sy);
goalpost_mc.endFill();
}
function renderBottomPoint() {
var _local4 = 0;
while (_local4 < bottomPoint_arr.length) {
var _local2 = bottomPoint_arr[_local4].vt;
var _local3 = bottomPoint_arr[_local4].mc;
transMatrix(_local2);
_local3._x = _local2.sx;
_local3._y = -_local2.sy;
var _local5 = 1 - _local2.sz;
_local3._xscale = (_local3._yscale = _local5 * 100);
_local4++;
}
}
function getBall() {
return(ball_obj);
}
function getBallShadow() {
return(ballShadow_obj);
}
function hitTestGoal(v1, v2) {
var _local3 = false;
var _local2 = findIntersectPoint(goalpost_plane, v1, v2);
if (_local2) {
_local3 = isInnerPlane(goalPoint_arr, _local2);
}
if (_local3) {
transMatrix(_local2);
return(_local2);
}
return(false);
}
function findIntersectPoint(plane, v1, v2) {
var _local1 = plane.normal;
var _local6 = plane.D;
var _local11 = (((v1.wx * _local1.x) + (v1.wy * _local1.y)) + (v1.wz * _local1.z)) + _local6;
var _local9 = (((v2.wx * _local1.x) + (v2.wy * _local1.y)) + (v2.wz * _local1.z)) + _local6;
if ((_local11 * _local9) > 0) {
trace("\uAD50\uCC28\uC548\uD574");
return(false);
}
trace("\uC5B4\uB77C\uAD50\uCC28\uD588\uB124");
var _local3 = new com.wis.math.alg.Vector(v2.wx - v1.wx, v2.wy - v1.wy, v2.wz - v1.wz);
_local3.normalize();
var _local10 = -1 * ((((_local1.x * v1.wx) + (_local1.y * v1.wy)) + (_local1.z * v1.wz)) + _local6);
var _local7 = ((_local1.x * _local3.x) + (_local1.y * _local3.y)) + (_local1.z * _local3.z);
var _local5 = _local10 / _local7;
trace("d== " + _local5);
if (_local5 < 0) {
return(false);
}
_local3.scalar(_local5);
var _local8 = new Vertex(v1.wx + _local3.x, v1.wy + _local3.y, v1.wz + _local3.z);
return(_local8);
}
function isInnerPlane(arr, v) {
var _local7 = 0;
var _local8 = 0.99;
var _local2 = 0;
while (_local2 < arr.length) {
var _local4 = (_local2 + 1) % arr.length;
var _local6 = new com.wis.math.alg.Vector(arr[_local2].wx - v.wx, arr[_local2].wy - v.wy, arr[_local2].wz - v.wz);
var _local5 = new com.wis.math.alg.Vector(arr[_local4].wx - v.wx, arr[_local4].wy - v.wy, arr[_local4].wz - v.wz);
_local7 = _local7 + Math.acos(_local6.dotProduct(_local5) / (_local6._len * _local5._len));
_local2++;
}
trace("angle== " + _local7);
if (_local7 >= (_local8 * (Math.PI*2))) {
trace("\uACE8\uD310\uB54C\uAE30 \uB9DE\uC558\uB124 ");
return(true);
}
return(false);
}
}
Symbol 725 MovieClip [__Packages.Matrix4x4] Frame 0
class Matrix4x4
{
var m11, m12, m13, tx, m21, m22, m23, ty, m31, m32, m33, tz, m41, m42, m43, w;
function Matrix4x4 () {
identity();
}
function identity() {
m11 = 1;
m12 = 0;
m13 = 0;
tx = 0;
m21 = 0;
m22 = 1;
m23 = 0;
ty = 0;
m31 = 0;
m32 = 0;
m33 = 1;
tz = 0;
m41 = 0;
m42 = 0;
m43 = 0;
w = 1;
return(this);
}
function translate(x, y, z) {
var _local2 = new Matrix4x4();
_local2.tx = x;
_local2.ty = y;
_local2.tz = z;
concat(_local2);
}
function rotationCAxis(axis, theta) {
var _local4 = Math.sin(theta);
var _local3 = Math.cos(theta);
var _local2 = new Matrix4x4();
switch (axis) {
case 1 :
_local2.m21 = 0;
_local2.m22 = _local3;
_local2.m23 = -_local4;
_local2.m31 = 0;
_local2.m32 = _local4;
_local2.m33 = _local3;
break;
case 2 :
_local2.m11 = _local3;
_local2.m12 = 0;
_local2.m13 = _local4;
_local2.m31 = -_local4;
_local2.m32 = 0;
_local2.m33 = _local3;
break;
case 3 :
_local2.m11 = _local3;
_local2.m12 = -_local4;
_local2.m13 = 0;
_local2.m21 = _local4;
_local2.m22 = _local3;
_local2.m23 = 0;
}
concat(_local2);
}
function rotation3Axis(xt, yt, zt) {
rotationCAxis(1, xt);
rotationCAxis(2, yt);
rotationCAxis(3, zt);
}
function concat(b) {
var _local2 = clone();
m11 = (((_local2.m11 * b.m11) + (_local2.m12 * b.m21)) + (_local2.m13 * b.m31)) + (_local2.tx * b.m41);
m12 = (((_local2.m11 * b.m12) + (_local2.m12 * b.m22)) + (_local2.m13 * b.m32)) + (_local2.tx * b.m42);
m13 = (((_local2.m11 * b.m13) + (_local2.m12 * b.m23)) + (_local2.m13 * b.m33)) + (_local2.tx * b.m43);
tx = (((_local2.m11 * b.tx) + (_local2.m12 * b.ty)) + (_local2.m13 * b.tz)) + (_local2.tx * b.w);
m21 = (((_local2.m21 * b.m11) + (_local2.m22 * b.m21)) + (_local2.m23 * b.m31)) + (_local2.ty * b.m41);
m22 = (((_local2.m21 * b.m12) + (_local2.m22 * b.m22)) + (_local2.m23 * b.m32)) + (_local2.ty * b.m42);
m23 = (((_local2.m21 * b.m13) + (_local2.m22 * b.m23)) + (_local2.m23 * b.m33)) + (_local2.ty * b.m43);
ty = (((_local2.m21 * b.tx) + (_local2.m22 * b.ty)) + (_local2.m23 * b.tz)) + (_local2.ty * b.w);
m31 = (((_local2.m31 * b.m11) + (_local2.m32 * b.m21)) + (_local2.m33 * b.m31)) + (_local2.tz * b.m41);
m32 = (((_local2.m31 * b.m12) + (_local2.m32 * b.m22)) + (_local2.m33 * b.m32)) + (_local2.tz * b.m42);
m33 = (((_local2.m31 * b.m13) + (_local2.m32 * b.m23)) + (_local2.m33 * b.m33)) + (_local2.tz * b.m43);
tz = (((_local2.m31 * b.tx) + (_local2.m32 * b.ty)) + (_local2.m33 * b.tz)) + (_local2.tz * b.w);
m41 = (((_local2.m41 * b.m11) + (_local2.m42 * b.m21)) + (_local2.m43 * b.m31)) + (_local2.w * b.m41);
m42 = (((_local2.m41 * b.m12) + (_local2.m42 * b.m22)) + (_local2.m43 * b.m32)) + (_local2.w * b.m42);
m43 = (((_local2.m41 * b.m13) + (_local2.m42 * b.m23)) + (_local2.m43 * b.m33)) + (_local2.w * b.m43);
w = (((_local2.m41 * b.tx) + (_local2.m42 * b.ty)) + (_local2.m43 * b.tz)) + (_local2.w * b.w);
}
function transformVertex(v) {
var _local4 = v.wx;
var _local3 = v.wy;
var _local5 = v.wz;
var _local6 = v.ww;
v.mx = (((m11 * _local4) + (m12 * _local3)) + (m13 * _local5)) + (tx * _local6);
v.my = (((m21 * _local4) + (m22 * _local3)) + (m23 * _local5)) + (ty * _local6);
v.mz = (((m31 * _local4) + (m32 * _local3)) + (m33 * _local5)) + (tz * _local6);
v.mw = (((m41 * _local4) + (m42 * _local3)) + (m43 * _local5)) + (w * _local6);
}
function transformNormal(v) {
var _local5 = v.wx;
var _local4 = v.wy;
var _local3 = v.wz;
v.mx = ((_local5 * m11) + (_local4 * m21)) + (_local3 * m31);
v.my = (((_local5 * m12) + (_local4 * m22)) + (_local3 * m32)) + ty;
v.mz = (((_local5 * m13) + (_local4 * m23)) + (_local3 * m33)) + tz;
}
function clone() {
var _local2 = new Matrix4x4();
_local2.m11 = m11;
_local2.m12 = m12;
_local2.m13 = m13;
_local2.tx = tx;
_local2.m21 = m21;
_local2.m22 = m22;
_local2.m23 = m23;
_local2.ty = ty;
_local2.m31 = m31;
_local2.m32 = m32;
_local2.m33 = m33;
_local2.tz = tz;
_local2.m41 = m41;
_local2.m42 = m42;
_local2.m43 = m43;
_local2.w = w;
return(_local2);
}
function toString() {
return([[int(m11 * 1000) / 1000, int(m12 * 1000) / 1000, int(m13 * 1000) / 1000, int(tx * 1000) / 1000], [int(m21 * 1000) / 1000, int(m22 * 1000) / 1000, int(m23 * 1000) / 1000, int(ty * 1000) / 1000], [int(m31 * 1000) / 1000, int(m32 * 1000) / 1000, int(m33 * 1000) / 1000, int(tz * 1000) / 1000], [int(m41 * 1000) / 1000, int(m42 * 1000) / 1000, int(m43 * 1000) / 1000, int(w * 1000) / 1000]].join("\r"));
}
}
Symbol 726 MovieClip [__Packages.Vertex] Frame 0
class Vertex
{
var wx, mx, wy, my, wz, mz, ww, mw, sy, sx;
function Vertex (x, y, z) {
wx = (mx = x);
wy = (my = y);
wz = (mz = z);
ww = (mw = 1);
}
function toString(tog) {
if (tog == "s") {
return(((("[Vertex x: " + sx) + " y: ") + sy) + " ]");
}
if (tog == "m") {
return(((((((("[Vertex x: " + mx) + " y: ") + my) + " z: ") + mz) + " w: ") + mw) + " ]");
}
return(((((((("[Vertex x: " + wx) + " y: ") + wy) + " z: ") + wz) + " w: ") + ww) + " ]");
}
}
Symbol 727 MovieClip [__Packages.com.wis.math.alg.Vector] Frame 0
class com.wis.math.alg.Vector
{
var x, y, z, $b3;
function Vector (vx, vy, vz) {
x = vx;
y = vy;
z = vz;
if (vz != undefined) {
$b3 = true;
} else {
$b3 = false;
}
}
function toString() {
var _local2;
if ($b3) {
_local2 = ((((("[" + x) + ",") + y) + ",") + z) + "]";
} else {
_local2 = ((("[" + x) + ",") + y) + "]";
}
return(_local2);
}
function resetComponents(vx, vy, vz) {
x = vx;
y = vy;
if ($b3) {
z = vz;
}
}
function copyComponents(V) {
x = V.x;
y = V.y;
if ($b3) {
z = V.z;
}
}
function incrementX(incX) {
x = x + incX;
}
function incrementY(incY) {
y = y + incY;
}
function incrementZ(incZ) {
if ($b3) {
z = z + incZ;
}
}
function incrementComponents(incX, incY, incZ) {
x = x + incX;
y = y + incY;
if ($b3) {
z = z + incZ;
}
}
function adds(V) {
x = x + V.x;
y = y + V.y;
if ($b3) {
z = z + V.z;
}
return(this);
}
function returnAddition(V) {
var _local3;
if ($b3) {
_local3 = new com.wis.math.alg.Vector(x + V.x, y + V.y, z + V.z);
} else {
_local3 = new com.wis.math.alg.Vector(x + V.x, y + V.y);
}
return(_local3);
}
function subtract(V) {
x = x - V.x;
y = y - V.y;
if ($b3) {
z = z - V.z;
}
return(this);
}
function returnSubtraction(V) {
var _local3;
if ($b3) {
_local3 = new com.wis.math.alg.Vector(x - V.x, y - V.y, z - V.z);
} else {
_local3 = new com.wis.math.alg.Vector(x - V.x, y - V.y);
}
return(_local3);
}
function scalar(s) {
x = x * s;
y = y * s;
if ($b3) {
z = z * s;
}
}
function returnScalar(s) {
var _local3;
if ($b3) {
_local3 = new com.wis.math.alg.Vector(x * s, y * s, z * s);
} else {
_local3 = new com.wis.math.alg.Vector(x * s, y * s);
}
return(_local3);
}
function scalarComponent(V) {
var _local2;
if ($b3) {
_local2 = new com.wis.math.alg.Vector(x, y, z);
} else {
_local2 = new com.wis.math.alg.Vector(x, y);
}
_local2.unitVector(V);
return(dotProduct(_local2));
}
function divide(s) {
x = x / s;
y = y / s;
if ($b3) {
z = z / s;
}
return(this);
}
function returnDivide(s) {
var _local3;
if ($b3) {
_local3 = new com.wis.math.alg.Vector(x / s, y / s, z / s);
} else {
_local3 = new com.wis.math.alg.Vector(x / s, y / s);
}
return(_local3);
}
function dotProduct(V) {
var _local3;
if ($b3) {
_local3 = ((x * V.x) + (y * V.y)) + (z * V.z);
} else {
_local3 = (x * V.x) + (y * V.y);
}
return(_local3);
}
function crossProduct(V) {
var _local2 = new com.wis.math.alg.Vector(0, 0, 0);
if ($b3) {
_local2.x = (y * V.z) - (z * V.y);
_local2.y = (z * V.x) - (x * V.z);
_local2.z = (x * V.y) - (y * V.x);
} else {
_local2.x = 0;
_local2.y = 0;
_local2.z = (x * V.y) - (y * V.x);
}
return(_local2);
}
function norm() {
var _local2;
if ($b3) {
_local2 = Math.sqrt(((x * x) + (y * y)) + (z * z));
} else {
_local2 = Math.sqrt((x * x) + (y * y));
}
return(_local2);
}
function unitVector() {
var _local2;
var _local3 = norm();
if ($b3) {
_local2 = new com.wis.math.alg.Vector(x, y, z);
} else {
_local2 = new com.wis.math.alg.Vector(x, y);
}
_local2.x = _local2.x / _local3;
_local2.y = _local2.y / _local3;
if ($b3) {
_local2.z = _local2.z / _local3;
}
return(_local2);
}
function normalize() {
var _local2 = norm();
x = x / _local2;
y = y / _local2;
if ($b3) {
z = z / _local2;
}
}
function swap(V) {
var _local5;
var _local4;
var _local3;
_local5 = x;
_local4 = y;
x = V.x;
y = V.y;
V.x = _local5;
V.y = _local4;
if ($b3) {
_local3 = z;
z = V.z;
V.z = _local3;
}
}
function angleVector(V) {
return(dotProduct(V) / (norm() * V.norm()));
}
function areaPara(V) {
var _local2;
if ($b3) {
_local2 = new com.wis.math.alg.Vector(x, y, z);
} else {
_local2 = new com.wis.math.alg.Vector(x, y);
}
_local2.crossProduct(V);
return(_local2.norm());
}
function areaTriangle(A, B) {
var _local2;
var _local3;
if ($b3) {
_local2 = new com.wis.math.alg.Vector(x, y, z);
_local3 = new com.wis.math.alg.Vector(x, y, z);
} else {
_local2 = new com.wis.math.alg.Vector(x, y);
_local3 = new com.wis.math.alg.Vector(x, y);
}
_local2 = subtract(A);
_local3 = subtract(B);
return(0.5 * _local2.areaPara(_local3));
}
function volumePara3d(A, B) {
var _local2 = new com.wis.math.alg.Vector(x, y, z);
_local2 = A.crossProduct(B);
return(Math.abs(A.dotProduct(_local2)));
}
function perp() {
var _local2;
if ($b3) {
_local2 = new com.wis.math.alg.Vector(-y, x, z);
} else {
_local2 = new com.wis.math.alg.Vector(-y, x);
}
return(_local2);
}
function fromPointVals(x1, x2, y1, y2, z1, z2) {
var _local1;
if (z1) {
_local1 = new com.wis.math.alg.Vector(x2 - x1, y2 - y1, z2 - z1);
} else {
_local1 = new com.wis.math.alg.Vector(x2 - x1, y2 - y1);
}
return(_local1);
}
function equal(V) {
var _local3;
if ($b3) {
_local3 = ((round3(x) == round3(V.x)) && (round3(y) == round3(V.y))) && (round3(z) == round3(V.z));
} else {
_local3 = (round3(x) == round3(V.x)) && (round3(y) == round3(V.y));
}
return(_local3);
}
function sameDirection(V) {
var _local3;
var _local2;
if ($b3) {
_local3 = new com.wis.math.alg.Vector(x, y, z);
_local2 = new com.wis.math.alg.Vector(x, y, z);
} else {
_local3 = new com.wis.math.alg.Vector(x, y);
_local2 = new com.wis.math.alg.Vector(x, y);
}
_local3.unitVector(this);
_local2.unitVector(V);
return(_local3.equal(_local2));
}
function greater(V) {
var _local3;
if ($b3) {
_local3 = ((round3(x) > round3(V.x)) && (round3(y) > round3(V.y))) && (round3(z) > round3(V.z));
} else {
_local3 = (round3(x) > round3(V.x)) && (round3(y) > round3(V.y));
}
return(_local3);
}
function greaterEqual(V) {
var _local3;
if ($b3) {
_local3 = ((round3(x) >= round3(V.x)) && (round3(y) >= round3(V.y))) && (round3(z) >= round3(V.z));
} else {
_local3 = (round3(x) >= round3(V.x)) && (round3(y) >= round3(V.y));
}
return(_local3);
}
function less(V) {
var _local3;
if ($b3) {
_local3 = ((round3(x) < round3(V.x)) && (round3(y) < round3(V.y))) && (round3(z) < round3(V.z));
} else {
_local3 = (round3(x) < round3(V.x)) && (round3(y) < round3(V.y));
}
return(_local3);
}
function lessEqual(V) {
var _local3;
if ($b3) {
_local3 = ((round3(x) <= round3(V.x)) && (round3(y) <= round3(V.y))) && (round3(z) <= round3(V.z));
} else {
_local3 = (round3(x) <= round3(V.x)) && (round3(y) <= round3(V.y));
}
return(_local3);
}
function round3(n) {
return(Math.round(n * 1000) / 1000);
}
function inv() {
return(new com.wis.math.alg.Vector(1 / x, 1 / y, 1 / z));
}
function get _len() {
return(Math.sqrt(((x * x) + (y * y)) + (z * z)));
}
function get _lenSq() {
return(((x * x) + (y * y)) + (z * z));
}
function copy() {
return(new com.wis.math.alg.Vector(x, y, z));
}
function transform(trans, dontTranslate) {
var _local5;
var _local4;
var _local3;
if (dontTranslate) {
_local5 = dot(trans.$vx, this);
_local4 = dot(trans.$vy, this);
_local3 = dot(trans.$vz, this);
} else {
_local5 = dot(trans.$vx, this) + trans.$c.x;
_local4 = dot(trans.$vy, this) + trans.$c.y;
_local3 = dot(trans.$vz, this) + trans.$c.z;
}
x = _local5;
y = _local4;
z = _local3;
}
function transformed(trans, dontTranslate) {
if (dontTranslate) {
return(new com.wis.math.alg.Vector(dot(trans.$vx, this), dot(trans.$vy, this), dot(trans.$vz, this)));
}
return(new com.wis.math.alg.Vector(dot(trans.$vx, this) + trans.$c.x, dot(trans.$vy, this) + trans.$c.y, dot(trans.$vz, this) + trans.$c.z));
}
static function normalizer(vec) {
var _local1 = 1 / vec.__get___len();
return(new com.wis.math.alg.Vector(vec.x * _local1, vec.y * _local1, vec.z * _local1));
}
static function neg(v) {
return(new com.wis.math.alg.Vector(-v.x, -v.y, -v.z));
}
static function adder(v1, v2) {
return(new com.wis.math.alg.Vector(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z));
}
static function scaler(v1, s) {
return(new com.wis.math.alg.Vector(v1.x * s, v1.y * s, v1.z * s));
}
static function compare(v1, v2) {
return(((v1.x == v2.x) && (v1.y == v2.y)) && (v1.z == v2.z));
}
static function mult(v1, v2) {
return(new com.wis.math.alg.Vector(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z));
}
static function dot(v1, v2) {
return(((v1.x * v2.x) + (v1.y * v2.y)) + (v1.z * v2.z));
}
static function cross(v1, v2) {
return(new com.wis.math.alg.Vector((v1.y * v2.z) - (v1.z * v2.y), (v1.z * v2.x) - (v1.x * v2.z), (v1.x * v2.y) - (v1.y * v2.x)));
}
static var XX = new com.wis.math.alg.Vector(1, 0, 0);
static var YY = new com.wis.math.alg.Vector(0, 1, 0);
static var ZZ = new com.wis.math.alg.Vector(0, 0, 1);
static var OO = new com.wis.math.alg.Vector(0, 0, 0);
}
Symbol 728 MovieClip [__Packages.com.wis.math.geom.util.Transformation] Frame 0
class com.wis.math.geom.util.Transformation
{
var $vx, $vy, $vz, $c, $identity, $inverse;
function Transformation (vx, vy, vz, c, dontFindInverse, actualOrder) {
if (actualOrder) {
$vx = vx;
$vy = vy;
$vz = vz;
} else {
$vx = new com.wis.math.alg.Vector(vx.x, vy.x, vz.x);
$vy = new com.wis.math.alg.Vector(vx.y, vy.y, vz.y);
$vz = new com.wis.math.alg.Vector(vx.z, vy.z, vz.z);
}
$c = c;
$identity = false;
if (((com.wis.math.alg.Vector.compare(vx, com.wis.math.alg.Vector.XX) && (com.wis.math.alg.Vector.compare(vy, com.wis.math.alg.Vector.YY))) && (com.wis.math.alg.Vector.compare(vz, com.wis.math.alg.Vector.ZZ))) && (com.wis.math.alg.Vector.compare(c, com.wis.math.alg.Vector.OO))) {
$identity = true;
}
if ((typeof(dontFindInverse) == "undefined") || (!dontFindInverse)) {
if ($identity) {
$inverse = this;
} else {
$inverse = findInverse(this);
}
}
}
function copy() {
var _local3 = true;
if (typeof($inverse) == "undefined") {
_local3 = false;
}
var _local2 = new com.wis.math.geom.util.Transformation($vx.copy(), $vy.copy(), $vz.copy(), $c.copy(), _local3, true);
if (_local3) {
if (!$identity) {
_local2.$inverse = new com.wis.math.geom.util.Transformation($inverse.$vx.copy(), $inverse.$vy.copy(), $inverse.$vz.copy(), $inverse.$c.copy(), true, true);
} else {
_local2.$inverse = _local2;
}
}
return(_local2);
}
function findInverse(trans) {
var _local2 = reducedRowEchelonForm([[trans.$vx.x, trans.$vx.y, trans.$vx.z, 1, 0, 0], [trans.$vy.x, trans.$vy.y, trans.$vy.z, 0, 1, 0], [trans.$vz.x, trans.$vz.y, trans.$vz.z, 0, 0, 1]]);
$vx = new com.wis.math.alg.Vector(_local2[0][3], _local2[0][4], _local2[0][5]);
$vy = new com.wis.math.alg.Vector(_local2[1][3], _local2[1][4], _local2[1][5]);
$vz = new com.wis.math.alg.Vector(_local2[2][3], _local2[2][4], _local2[2][5]);
var _local4 = new com.wis.math.geom.util.Transformation(new com.wis.math.alg.Vector($vx.x, $vy.x, $vz.x), new com.wis.math.alg.Vector($vx.y, $vy.y, $vz.y), new com.wis.math.alg.Vector($vx.z, $vy.z, $vz.z), new com.wis.math.alg.Vector(0, 0, 0), true);
_local4.$c = com.wis.math.alg.Vector.neg(trans.$c.transformed(_local4));
_local4.$inverse = trans;
return(_local4);
}
static function reducedRowEchelonForm(rows) {
var _local7 = rows.length;
var _local5 = rows[0].length;
var _local6;
var _local2;
var _local4;
var _local1;
var _local9;
var _local8;
_local2 = 0;
while (_local2 < _local7) {
if (Math.abs(rows[_local2][_local2] - 0) < $ACCURACY) {
_local4 = _local2 + 1;
while (_local4 < _local7) {
if (Math.abs(rows[_local4][_local2] - 0) > $ACCURACY) {
_local1 = 0;
while (_local1 < _local5) {
_local6 = rows[_local2][_local1];
rows[_local2][_local1] = rows[_local4][_local1];
rows[_local4][_local1] = _local6;
_local1++;
}
break;
}
_local4++;
}
}
_local9 = rows[_local2][_local2];
_local1 = 0;
while (_local1 < _local5) {
rows[_local2][_local1] = rows[_local2][_local1] / _local9;
_local1++;
}
_local4 = 0;
while (_local4 < _local7) {
if (_local4 != _local2) {
_local8 = rows[_local4][_local2];
_local1 = _local2;
while (_local1 < _local5) {
rows[_local4][_local1] = rows[_local4][_local1] - (rows[_local2][_local1] * _local8);
_local1++;
}
}
_local4++;
}
_local2++;
}
return(rows);
}
function toString() {
var _local4 = [[$vx.x, $vx.y, $vx.z], [$vy.x, $vy.y, $vy.z], [$vz.x, $vz.y, $vz.z], [$c.x, $c.y, $c.z]];
var _local3;
var _local2;
var _local5;
_local5 = "[ ";
_local3 = 0;
while (_local3 < _local4.length) {
_local2 = 0;
while (_local2 < _local4[_local3].length) {
if (Math.abs(_local4[_local3][_local2] - 0) < $ACCURACY) {
_local5 = _local5 + "0 ";
} else {
_local5 = _local5 + (_local4[_local3][_local2] + " ");
}
_local2++;
}
if (_local3 < (_local4.length - 1)) {
_local5 = _local5 + "\n ";
}
_local3++;
}
return(_local5 + " ]");
}
static function multipleTrans(trans_arr) {
if (trans_arr.length == 0) {
return($IdentityTrans);
}
var _local1;
var _local2;
if (trans_arr.length == 1) {
_local1 = trans_arr[0].copy();
} else {
_local1 = trans_arr[0];
}
_local2 = 1;
while (_local2 < trans_arr.length) {
_local1 = new com.wis.math.geom.util.Transformation(new com.wis.math.alg.Vector(com.wis.math.alg.Vector.dot(trans_arr[_local2].$vx, new com.wis.math.alg.Vector(_local1.$vx.x, _local1.$vy.x, _local1.$vz.x)), com.wis.math.alg.Vector.dot(trans_arr[_local2].$vx, new com.wis.math.alg.Vector(_local1.$vx.y, _local1.$vy.y, _local1.$vz.y)), com.wis.math.alg.Vector.dot(trans_arr[_local2].vx, new com.wis.math.alg.Vector(_local1.$vx.z, _local1.$vy.z, _local1.$vz.z))), new com.wis.math.alg.Vector(com.wis.math.alg.Vector.dot(trans_arr[_local2].$vy, new com.wis.math.alg.Vector(_local1.$vx.x, _local1.$vy.x, _local1.$vz.x)), com.wis.math.alg.Vector.dot(trans_arr[_local2].$vy, new com.wis.math.alg.Vector(_local1.$vx.y, _local1.$vy.y, _local1.$vz.y)), com.wis.math.alg.Vector.dot(trans_arr[_local2].vy, new com.wis.math.alg.Vector(_local1.$vx.z, _local1.$vy.z, _local1.$vz.z))), new com.wis.math.alg.Vector(com.wis.math.alg.Vector.dot(trans_arr[_local2].$vz, new com.wis.math.alg.Vector(_local1.$vx.x, _local1.$vy.x, _local1.$vz.x)), com.wis.math.alg.Vector.dot(trans_arr[_local2].$vz, new com.wis.math.alg.Vector(_local1.$vx.y, _local1.$vy.y, _local1.$vz.y)), com.wis.math.alg.Vector.dot(trans_arr[_local2].vz, new com.wis.math.alg.Vector(_local1.$vx.z, _local1.$vy.z, _local1.$vz.z))), _local1.$c.transformed(trans_arr[_local2]), false, true);
_local2++;
}
return(_local1);
}
function scale(amount) {
return(new com.wis.math.geom.util.Transformation(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.XX, amount.x), com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.YY, amount.y), com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.ZZ, amount.z), com.wis.math.alg.Vector.OO));
}
function rotate(dim, amnt) {
if ((dim == 0) || (dim == "x")) {
return(new com.wis.math.geom.util.Transformation(com.wis.math.alg.Vector.XX, com.wis.math.alg.Vector.adder(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.YY, Math.cos(amnt)), com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.ZZ, Math.sin(amnt))), com.wis.math.alg.Vector.adder(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.ZZ, Math.cos(amnt)), com.wis.math.alg.Vector.neg(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.YY, Math.sin(amnt)))), com.wis.math.alg.Vector.OO));
}
if ((dim == 1) || (dim == "y")) {
return(new com.wis.math.geom.util.Transformation(com.wis.math.alg.Vector.adder(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.XX, Math.cos(amnt)), com.wis.math.alg.Vector.neg(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.ZZ, Math.sin(amnt)))), com.wis.math.alg.Vector.YY, com.wis.math.alg.Vector.adder(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.ZZ, Math.cos(amnt)), com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.XX, Math.sin(amnt))), com.wis.math.alg.Vector.OO));
}
if ((dim == 2) || (dim == "z")) {
return(new com.wis.math.geom.util.Transformation(com.wis.math.alg.Vector.adder(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.XX, Math.cos(amnt)), com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.YY, Math.sin(amnt))), com.wis.math.alg.Vector.adder(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.YY, Math.cos(amnt)), com.wis.math.alg.Vector.neg(com.wis.math.alg.Vector.scaler(com.wis.math.alg.Vector.XX, Math.sin(amnt)))), com.wis.math.alg.Vector.ZZ, com.wis.math.alg.Vector.OO));
}
}
function translate(amount) {
return(new com.wis.math.geom.util.Transformation(com.wis.math.alg.Vector.XX, com.wis.math.alg.Vector.YY, com.wis.math.alg.Vector.ZZ, amount));
}
static var $IdentityTrans = new com.wis.math.geom.util.Transformation(com.wis.math.alg.Vector.XX, com.wis.math.alg.Vector.YY, com.wis.math.alg.Vector.ZZ, com.wis.math.alg.Vector.OO);
static var $ACCURACY = 1E-8;
}
Symbol 729 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 730 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 731 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 732 MovieClip [__Packages.mx.transitions.easing.Regular] Frame 0
class mx.transitions.easing.Regular
{
function Regular () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return(((c * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = t / d;
return((((-c) * t) * (t - 2)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static var version = "1.1.0.52";
}
Symbol 37 MovieClip Frame 1
stop();
Symbol 60 Button
on (press) {
openHelp();
}
Symbol 61 Button
on (press) {
_SB.btn.start(0, 1);
_r.startGame();
}
Symbol 73 Button
on (press) {
_parent._parent.closeHelp();
}
Symbol 80 MovieClip Frame 1
stop();
Symbol 80 MovieClip Frame 9
stop();
Symbol 81 MovieClip Frame 10
_SB.ballbound.start(0, 1);
Symbol 81 MovieClip Frame 28
_SB.ballbound.start(0, 1);
Symbol 81 MovieClip Frame 86
function openHelp() {
if (!isHelp) {
_SB.btn.start(0, 1);
help_mc.play();
isHelp = true;
}
}
function closeHelp() {
if (isHelp) {
_SB.btn.start(0, 1);
help_mc.gotoAndStop(1);
isHelp = false;
}
}
stop();
_SB.loop.start(0, 9999);
var isHelp = false;
Symbol 87 MovieClip Frame 1
stop();
Symbol 95 MovieClip Frame 17
stop();
Symbol 102 MovieClip Frame 13
stop();
Symbol 114 MovieClip Frame 17
stop();
Symbol 141 MovieClip Frame 26
stop();
Symbol 159 MovieClip Frame 26
stop();
Symbol 186 MovieClip Frame 26
stop();
Symbol 187 MovieClip Frame 1
stop();
Symbol 188 MovieClip Frame 1
stop();
Symbol 240 MovieClip Frame 17
stop();
Symbol 267 MovieClip Frame 13
stop();
Symbol 302 MovieClip Frame 17
stop();
Symbol 355 MovieClip Frame 26
stop();
Symbol 408 MovieClip Frame 26
stop();
Symbol 461 MovieClip Frame 26
stop();
Symbol 462 MovieClip Frame 1
stop();
Symbol 463 MovieClip Frame 1
stop();
Symbol 470 MovieClip Frame 24
_parent.gotoAndStop(1);
Symbol 471 MovieClip Frame 1
stop();
Symbol 604 MovieClip Frame 30
stop();
Symbol 631 MovieClip Frame 24
stop();
Symbol 632 MovieClip Frame 1
gotoAndStop("stan" + this._name);
Symbol 634 MovieClip Frame 1
stop();
Symbol 639 MovieClip Frame 50
gotoAndPlay (2);
Symbol 641 MovieClip Frame 1
stop();
Symbol 641 MovieClip Frame 12
onChange();
Symbol 648 MovieClip Frame 1
stop();
Symbol 648 MovieClip Frame 73
onAniFinished();
Symbol 659 MovieClip Frame 1
stop();
Symbol 669 MovieClip Frame 1
stop();
Symbol 695 MovieClip Frame 1
stop();
Symbol 700 MovieClip Frame 1
function setCount(n) {
count_mc.gotoAndStop(n + 1);
}
stop();
var stog = true;
soundtog_mc.onPress = function () {
if (stog) {
_SB.setAllMute();
this.gotoAndStop("off");
} else {
_SB.setAllOn();
this.gotoAndStop("on");
}
stog = !stog;
};
Symbol 700 MovieClip Frame 35
trace("\uC5EC\uAE30\uAE4C\uC9C0\uC624\uB098");
count_mc.gotoAndStop(11);
Symbol 700 MovieClip Frame 50
stop();
Symbol 700 MovieClip Frame 105
count_mc.gotoAndStop(11);
Symbol 700 MovieClip Frame 120
stop();
Symbol 700 MovieClip Frame 131
stop();
Symbol 716 Button
on (press) {
_SB.btn.start(0, 1);
_r.replay();
}
Symbol 717 Button
on (press) {
_SB.btn.start(0, 1);
_r.goReg();
}
Symbol 720 MovieClip Frame 1
stop();
Symbol 720 MovieClip Frame 22
stop();
goal_num_mc.txt.text = goal_num;
Symbol 720 MovieClip Frame 53
stop();
Symbol 721 MovieClip Frame 2
stop();
_global._game = this;
var game = new Game_freekick(this);