Code:
// Action script...
// [Action in Frame 1]
function init()
{
setZoomInMode();
} // End of the function
function setZoomInMode()
{
waitNum = 0;
resultView = false;
batNowArray = [0, 0, 0, 0, 0, 0, 0, 0];
batSpArray = [0, 0, 0, 0, 0, 0, 0, 0];
batTarget = -160;
batNow = batTarget;
batSp = 4;
batPow = 0;
batterBoxMaxX = -140;
batterBoxMinX = -240;
batterBoxMaxY = 200;
batterBoxMinY = -50;
ballNow = [0, 2044, 100];
ballNowArray = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]];
ballSpArray = [0, 0, 0, 0, 0, 0, 0, 0];
ballSpKm = 0;
ballSp = 0;
ballSpY = 0;
ballR = 180;
ballRNum = 0;
ballRHit = ballR;
ballVisible = false;
ballFlyingDistance = 0;
defPlayerArray = [[0, 2030, 0, "stop"], [0, -200, 0, "stop"]];
defPlayerTarget = [[0, 2030, 0], [0, -200, 0]];
offPlayerArray = [[-190, 150, 0]];
zoomInBgArray = [[0, 200, 0], [0, 2030, 0]];
mousePos = [-190, 150, 100];
defPlayerSp = 7;
defPlayerMove = false;
defPlayerCatch = false;
defCatchFrame = 0;
defTargetX = 0;
defTargetY = 0;
hitNow = false;
flyNow = false;
flyOver = false;
wallHit = false;
depthsNum = 0;
cameraX = 0;
cameraY = 1100;
cameraZ = 570;
cameraW = 1.000000E-003;
camera2X = 0;
camera2Y = 6.000000E-001;
camera2Z = 1.500000E-001;
screenNowX = 0;
screenNowY = 0;
screenX = 0;
screenY = -320;
this._x = screenX;
this._y = screenY;
setBallVisible(false);
mcOutBgGround._visible = false;
mcOutBgFence1._visible = false;
mcOutBgFence2._visible = false;
_parent._parent.mcResult._visible = false;
setEvent();
setPitcher();
setInfo();
} // End of the function
function kmToDot(myKm)
{
var _loc1 = myKm * 100000 / 60 / 60 / 60 / 5;
return (_loc1);
} // End of the function
function setPitcher()
{
resultView = false;
if (_parent._parent.gameLeft == 0)
{
trace ("ƒQ[ƒ€I—¹");
_parent._parent.gameEnd();
}
else
{
_parent._parent.mcResult._visible = false;
_parent._parent.setBall();
mcDefPlayer0.gotoAndStop("stage" + _parent._parent.gameStage);
mcDefPlayer0.mcPlayer.gotoAndPlay("pitch");
} // end else if
} // End of the function
function setPitching()
{
trace ("setPitching()F“Š‹…ŠJŽn");
ballNow = [0, 2044, BALL_Z_DEF];
myPitchNum = _parent._parent.gameStage;
if (myPitchNum == 7)
{
myPitchNum = Math.floor(Math.random() * 5) + 2;
} // end if
setBall();
setBall2();
if (_parent._parent.gameStage == 7)
{
ballSpKm = ballSpKm + (Math.random() * 40 + 10);
ballSp = kmToDot(ballSpKm);
} // end if
setBallVisible(true);
} // End of the function
function setBall()
{
switch (myPitchNum)
{
case 0:
{
ballSpKm = 70 + Math.random() * 5;
ballR = 179 + Math.random() * 2;
break;
}
case 1:
{
ballSpKm = 85 + Math.random() * 20;
ballR = 179 + Math.random() * 2;
break;
}
case 2:
{
ballSpKm = 90 + Math.random() * 50;
ballR = 179 + Math.random() * 2;
break;
}
case 3:
{
ballSpKm = 40 + Math.random() * 90;
ballR = 179 + Math.random() * 2;
break;
}
case 4:
{
ballSpKm = 20 + Math.random() * 20;
ballR = 179 + Math.random() * 2;
ballRNum = 0;
break;
}
case 5:
{
ballSpKm = 70 + Math.random() * 20;
ballRNum = Math.random() * 8;
break;
}
case 6:
{
ballSpKm = 90 + Math.random() * 40;
ballR = 179 + Math.random() * 2;
break;
}
default:
{
break;
}
} // End of switch
ballSp = kmToDot(ballSpKm);
} // End of the function
function setBall2()
{
switch (myPitchNum)
{
case 3:
{
ballRNum = ballRNum + 4;
ballNow[2] = BALL_Z_DEF + Math.sin(ballRNum * 3.141593E+000 / 180) * 30;
break;
}
case 4:
{
if (ballNow[1] < 1200 && ballRNum == 0)
{
ballRNum = 1;
ballSpKm = 100 + Math.random() * 20;
ballSp = kmToDot(ballSpKm);
} // end if
break;
}
case 5:
{
ballRNum = ballRNum + 1.500000E-001;
if (ballRNum >= 8)
{
ballRNum = ballRNum - 8;
} // end if
if (ballRNum >= 4)
{
ballR = 150;
}
else
{
ballR = 210;
} // end else if
break;
}
case 6:
{
if (ballNow[1] < 1000)
{
mcBall._visible = false;
mcBallKage._visible = false;
} // end if
break;
}
default:
{
break;
}
} // End of switch
} // End of the function
function setEvent()
{
trace ("setEvent()FƒƒCƒ“ƒCƒxƒ“ƒgŠJŽn");
this.onMouseDown = function ()
{
mouseClick = true;
if (hitNow == false)
{
setSe("swing");
} // end if
};
this.onMouseUp = function ()
{
mouseClick = false;
};
this.onEnterFrame = function ()
{
keyCheck();
batterMove();
depthsNum = 0;
for (var _loc12 in batNowArray)
{
var _loc4 = _parent._parent.mcBat["mcBat" + _loc12];
var _loc8 = mcBall["mcBall" + _loc12];
var _loc9 = mcBallKage["mcBallKage" + _loc12];
var _loc7 = ballNowArray[_loc12][0];
var _loc6 = ballNowArray[_loc12][1];
if (mouseClick == true && hitNow == false && _loc4.hitTest(_loc7, _loc6, true) == true && ballVisible == true)
{
trace ("ƒqƒbƒg2I[" + _loc12 + "]" + batSp);
setHit(_loc4._rotation);
} // end if
if (batTarget > batNow)
{
batNow = batNow + batSp;
batNow = Math.min(batNow, batTarget);
}
else if (batTarget < batNow)
{
batNow = batNow - batSp;
batNow = Math.max(batNow, batTarget);
} // end else if
batNowArray[Number(_loc12)] = batNow;
_loc4._rotation = batNow;
if (ballVisible == true)
{
ballNow[0] = ballNow[0] + Math.sin(ballR * 1.745329E-002) * ballSp;
ballNow[1] = ballNow[1] + Math.cos(ballR * 1.745329E-002) * ballSp;
if (hitNow == false)
{
setBall2();
if (ballNow[1] < -300)
{
setBallVisible(false);
setResult("strike");
} // end if
}
else
{
ballSpY = ballSpY - BALL_G;
} // end else if
ballNow[2] = ballNow[2] + ballSpY;
if (ballNow[2] < 0)
{
if (Math.abs(ballSpY) > 1)
{
setSe("bound");
} // end if
if (flyOver == true)
{
setBallVisible(false);
if (Math.abs(ballRHit) <= 45)
{
setResult("homeRun");
} // end if
}
else
{
if (Math.abs(ballRHit) > 45 && flyNow == true)
{
setResult("foul");
if (wallHit == true)
{
setBallVisible(false);
} // end if
}
else
{
setResult("hit");
} // end else if
if (wallHit == true && Math.abs(ballRHit) > 45)
{
setBallVisible(false);
} // end if
flyNow = false;
ballNow[2] = ballNow[2] * -1;
ballSpY = ballSpY * -FRICTION_BOUND;
ballSp = ballSp * FRICTION_ROTATE;
} // end if
} // end else if
if (ballSpY < 1.000000E-002 && ballNow[2] < 1.000000E-001)
{
ballSp = ballSp * FRICTION_ROTATE;
} // end if
ballNowArray[_loc12][0] = ballNow[0];
ballNowArray[_loc12][1] = ballNow[1];
ballNowArray[_loc12][2] = ballNow[2];
var _loc10 = [ballNowArray[_loc12][0], ballNowArray[_loc12][1], 0];
set3D(_loc8, ballNowArray[_loc12]);
set3D(_loc9, _loc10);
_parent._parent.mcBall2["mcBall" + _loc12]._x = ballNowArray[_loc12][0];
_parent._parent.mcBall2["mcBall" + _loc12]._y = ballNowArray[_loc12][1];
} // end if
ballSp = ballSp * FRICTION_AIR;
_loc7 = ballNowArray[_loc12][0];
_loc6 = ballNowArray[_loc12][1];
if (_parent.hitCheckFair(_loc7, _loc6) == false && wallHit == false)
{
trace ("ƒ{[ƒ‹‚ªƒtƒFƒ“ƒX‚Ƀqƒbƒg");
flyNow = false;
wallHit = true;
if (Math.abs(ballRHit) <= 45)
{
if (ballNow[2] > FENCE_HEIGHT)
{
trace ("ƒtƒFƒ“ƒXƒI[ƒo[ X:" + _loc7 + " Y:" + _loc6);
flyOver = true;
if (Math.abs(ballRHit) <= 45)
{
}
else
{
setResult("foul");
} // end else if
}
else
{
trace ("ƒtƒFƒ“ƒX‚͉z‚¦‚Ü‚¹‚ñ");
if (Math.abs(ballRHit) > 45)
{
setResult("foul");
}
else
{
setSe("bound");
ballR = ballR + 180;
ballSp = ballSp * FRICTION_WALL;
trace (ballNow[0]);
trace (ballNow[1]);
} // end else if
} // end else if
continue;
} // end if
setResult("foul");
} // end if
} // end of for...in
mcOffPlayer0.gotoAndStop(Math.floor((batNow + 160) * 1.000000E-001) + 1);
get3D();
for (var _loc12 in defPlayerArray)
{
var _loc5 = this["mcDefPlayer" + Number(_loc12)];
set3D(_loc5, defPlayerArray[_loc12]);
_loc5.gotoAndStop(defPlayerArray[_loc12][3]);
} // end of for...in
for (var _loc12 in offPlayerArray)
{
var _loc11 = this["mcOffPlayer" + Number(_loc12)];
set3D(_loc11, offPlayerArray[_loc12]);
} // end of for...in
for (var _loc12 in zoomInBgArray)
{
var _loc3 = this["mcZoomInBg" + Number(_loc12)];
set3D(_loc3, zoomInBgArray[_loc12]);
if (hitNow == true)
{
_loc3._visible = false;
continue;
} // end if
_loc3._visible = true;
} // end of for...in
if (flyOver == true)
{
mcOutBgFence1.swapDepths(10);
mcOutBgFence2.swapDepths(9);
if (Math.abs(ballRHit) < 51)
{
mcBall.swapDepths(6);
mcBallKage.swapDepths(4);
}
else
{
mcBall.swapDepths(1001);
mcBallKage.swapDepths(1002);
} // end else if
}
else
{
mcOutBgFence1.swapDepths(99);
mcOutBgFence2.swapDepths(9);
mcBall.swapDepths(501);
mcBallKage.swapDepths(500);
} // end else if
if (hitNow == true)
{
mcDefPlayer1._visible = true;
mcOutBgGround._visible = true;
mcOutBgGround._xscale = camera2Z * 1000;
mcOutBgGround._yscale = camera2Z * camera2Y * 1000;
mcOutBgGround._x = 0;
mcOutBgGround._y = 0;
mcOutBgFence1._visible = true;
mcOutBgFence1._xscale = camera2Z * 1000;
mcOutBgFence1._yscale = camera2Z * camera2Y * 1000;
mcOutBgFence1._x = 0;
mcOutBgFence1._y = 0;
mcOutBgFence2._visible = true;
mcOutBgFence2._xscale = camera2Z * 1000;
mcOutBgFence2._yscale = camera2Z * camera2Y * 1000;
mcOutBgFence2._x = 0;
mcOutBgFence2._y = 0;
setCamera();
}
else
{
mcDefPlayer1._visible = false;
} // end else if
};
} // End of the function
function set3D(myMc, myPos)
{
if (hitNow == false)
{
if (myPos[1] + cameraY < 1)
{
myMc._visible = false;
}
else
{
myMc._visible = true;
var _loc3 = cameraY + myPos[1];
var _loc4 = 100 / (_loc3 * cameraW);
myMc._x = (cameraX + myPos[0]) / (_loc3 * cameraW);
myMc._y = (cameraZ + -myPos[2]) / (_loc3 * cameraW);
myMc._xscale = _loc4;
myMc._yscale = _loc4;
} // end else if
}
else if (hitNow == true)
{
myMc._visible = true;
myMc._x = myPos[0] * camera2Z;
myMc._y = (-myPos[1] - myPos[2]) * camera2Z * camera2Y;
myMc._xscale = (myPos[2] * 3.000000E-001 + 100) * camera2Z;
myMc._yscale = (myPos[2] * 3.000000E-001 + 100) * camera2Z;
} // end else if
} // End of the function
function get3D()
{
var _loc1 = new Array();
rootZ = (cameraZ - BALL_Z_DEF) / (_ymouse * cameraW);
rootC = rootZ * cameraW;
mousePos[0] = _xmouse * rootC - cameraX - 200;
mousePos[1] = rootZ - cameraY;
} // End of the function
function setCamera()
{
screenX = screenX + (-mcBallKage.mcBallKage0._x - screenX) * 4.000000E-001;
screenY = screenY + (-mcBallKage.mcBallKage0._y - screenY) * 4.000000E-001;
this._x = screenX;
this._y = screenY;
} // End of the function
function setHit(myR)
{
setSe("hit");
hitNow = true;
flyNow = true;
defPlayerCatch = false;
ballR = -myR * 2;
ballRHit = ballR;
setBallVisible(true);
var _loc8 = _parent._parent.mcBat;
trace ("ballX = " + Math.ceil(ballNow[0]) + "batX = " + Math.ceil(_loc8._x));
trace ("ballY = " + Math.ceil(ballNow[1]) + "batY = " + Math.ceil(_loc8._y));
var _loc5 = ballNow[0] - _loc8._x;
var _loc4 = ballNow[1] - _loc8._y;
_loc4 = 0;
var _loc9 = 170 - Math.sqrt(_loc5 * _loc5 + _loc4 * _loc4);
var _loc11 = _parent._parent.soLvMeet;
var _loc10 = _parent._parent.soLvPow;
_loc9 = Math.max(0, _loc9 - _loc11 * 4.000000E-001);
batPow = 100 - _loc9 + Math.random();
_parent._parent.soLvPow;
ballSp = batPow * (1.500000E-001 + _loc10 * 1.500000E-003 + ballSp * 2.000000E-003);
ballSpY = batPow * (1.800000E-001 + _loc10 * 1.500000E-003);
trace ("ballR = " + ballR);
trace ("batPow = " + batPow);
trace ("ballSp = " + ballSp);
trace ("ballSpY = " + ballSpY);
ballNow[0] = 0;
ballNow[1] = 200;
_loc5 = ballNow[0];
_loc4 = ballNow[1];
var _loc6 = ballNow[2];
var _loc3 = ballSp;
var _loc7 = ballSpY;
for (var _loc2 = 0; _loc2 < 4000; ++_loc2)
{
_loc5 = _loc5 + Math.sin(ballR * 1.745329E-002) * _loc3;
_loc4 = _loc4 + Math.cos(ballR * 1.745329E-002) * _loc3;
_loc7 = _loc7 - BALL_G;
_loc6 = _loc6 + _loc7;
_loc3 = _loc3 * FRICTION_AIR;
if (_loc6 < 80)
{
trace ("lp = " + _loc2);
trace ("defTargetX = " + _loc5);
trace ("defTargetY = " + _loc4);
defTargetX = _loc5;
defTargetY = _loc4;
ballFlyingDistance = Math.sqrt(Math.pow(defTargetX - ballNow[0], 2) + Math.pow(defTargetY - ballNow[1], 2));
trace ("”ò‹——£=" + Math.floor(ballFlyingDistance * 1.000000E-001) * 1.000000E-001 + "m");
break;
} // end if
} // end of for
} // End of the function
function setBallVisible(myVisible)
{
ballVisible = myVisible;
mcBall._visible = myVisible;
mcBallKage._visible = myVisible;
} // End of the function
function keyCheck()
{
if (Key.isDown(32) || Key.isDown(90))
{
kySpace = true;
}
else
{
kySpace = false;
} // end else if
if (Key.isDown(38))
{
kyUp = true;
}
else
{
kyUp = false;
} // end else if
if (Key.isDown(40))
{
kyDown = true;
}
else
{
kyDown = false;
} // end else if
if (Key.isDown(37))
{
kyLeft = true;
}
else
{
kyLeft = false;
} // end else if
if (Key.isDown(39))
{
kyRight = true;
}
else
{
kyRight = false;
} // end else if
} // End of the function
function batterMove()
{
var _loc6 = BATTER_SP + _parent._parent.soLvSp * 5.000000E-001;
var _loc8 = mousePos[0] - offPlayerArray[0][0];
var _loc7 = mousePos[1] - offPlayerArray[0][1];
var _loc2 = Math.sqrt(Math.pow(_loc8, 2) + Math.pow(_loc7, 2));
var _loc5 = _loc6 / _loc2;
var _loc4;
var _loc3;
if (_loc2 <= _loc6)
{
_loc4 = mousePos[0];
_loc3 = mousePos[1];
}
else
{
_loc4 = offPlayerArray[0][0] + _loc8 * _loc5;
_loc3 = offPlayerArray[0][1] + _loc7 * _loc5;
} // end else if
offPlayerArray[0][0] = Math.max(Math.min(_loc4, batterBoxMaxX), batterBoxMinX);
offPlayerArray[0][1] = Math.max(Math.min(_loc3, batterBoxMaxY), batterBoxMinY);
_parent._parent.mcBat._x = offPlayerArray[0][0] + 30;
_parent._parent.mcBat._y = offPlayerArray[0][1];
if (mouseClick)
{
batTarget = BAT_MAX;
}
else
{
batTarget = BAT_MIN;
} // end else if
} // End of the function
function setResult(myResult)
{
if (resultView == false)
{
if (myResult == "strike")
{
trace ("ƒXƒgƒ‰ƒCƒNI");
_parent._parent.setResult(myResult);
resultView = true;
setWait(50, "setPitcher");
}
else if (myResult == "out")
{
setOut("chach");
}
else
{
if (myResult == "foul")
{
trace ("ƒtƒ@ƒEƒ‹I");
}
else if (myResult == "hit")
{
trace ("ƒqƒbƒgI");
}
else if (myResult == "homeRun")
{
trace ("ƒz[ƒ€ƒ‰ƒ“I");
}
else
{
trace ("ƒGƒ‰[FŒ‹‰Ê‚ª•s³‚Å‚·@setResultF" + myResult);
} // end else if
_parent._parent.setResult(myResult, ballFlyingDistance);
setWait(80, "setZoomInMode", true);
} // end else if
resultView = true;
} // end if
} // End of the function
function setGameSet()
{
trace ("ƒQ[ƒ€ƒZƒbƒgI");
} // End of the function
function setWait(myWait, myFunction, myFade)
{
delete mcEmpty.onEnterFrame;
waitNum = myWait;
nextFade = myFade;
nextFunction = myFunction;
mcEmpty.onEnterFrame = function ()
{
--waitNum;
if (waitNum == 0)
{
if (nextFade == true)
{
_parent.setFadeOut("black", 15, true);
}
else
{
delete this.onEnterFrame;
setNextFunction();
} // end if
} // end else if
};
} // End of the function
function setNextFunction()
{
switch (nextFunction)
{
case "setZoomInMode":
{
setZoomInMode();
break;
}
case "setPitcher":
{
setPitcher();
break;
}
case "setNextInning":
{
setNextInning();
break;
}
default:
{
break;
}
} // End of switch
} // End of the function
function setSe(mySe)
{
mcSe.gotoAndPlay(mySe);
} // End of the function
var BAT_MAX = 160;
var BAT_MIN = -160;
var BATTER_SP = 1.500000E+000;
var BALL_Z_DEF = 100;
var BALL_G = 4.000000E-002;
var FRICTION_BOUND = 4.000000E-001;
var FRICTION_WALL = 3.000000E-001;
var FRICTION_ROTATE = 9.980000E-001;
var FRICTION_AIR = 9.998000E-001;
var FENCE_HEIGHT = 650;
var PLAYER_MC_ARRAY = [mcDefPlayer0, mcDefPlayer1, mcOffPlayer0];
var waitNum;
var resultView;
var nextFunction;
var nextFade;
var mousePos;
var mouseClick = false;
var batNowArray;
var batSpArray;
var batTarget;
var batNow;
var batSp;
var batPow;
var batterBoxMaxX;
var batterBoxMinX;
var batterBoxMaxY;
var batterBoxMinY;
var ballNow;
var ballNowArray;
var ballSpArray;
var ballSpKm;
var ballSp;
var ballSpY;
var ballR;
var ballRNum;
var ballRHit;
var ballVisible;
var ballFlyingDistance;
var myPitchNum;
var defPlayerArray;
var defPlayerTarget;
var offPlayerArray;
var zoomInBgArray;
var defPlayerSp;
var defPlayerMove;
var defPlayerCatch;
var defCatchFrame;
var hitNow = false;
var flyNow = false;
var flyOver = false;
var wallHit = false;
var defTargetX;
var defTargetY;
var depthsNum;
var cameraX;
var cameraY;
var cameraZ;
var cameraW;
var camera2X;
var camera2Y;
var camera2Z;
var screenNowX;
var screenNowY;
var screenX;
var screenY;
var kySpace = false;
var kyUp = false;
var kyDown = false;
var kyLeft = false;
var kyRight = false;
this._x = screenX;
this._y = screenY;
mcBat._alpha = 50;
mcBall2._alpha = 50;
init();