Witam,
robię pong’a w Action Script 2.0 i tak z ciekawości,
var ballXSpeed:Number = 10;
var ballYSpeed:Number = 10;
onEnterFrame = function () {
mcPaddle._x = _xmouse-mcPaddle._width*.5;
if (_xmouse
mcPaddle._x = 0;
}
if (_xmouse>Stage.width-mcPaddle._width/2) {
mcPaddle._x = Stage.width-mcPaddle._width;
mcPaddle2.x = mcPaddle2._x-mcPaddle2._width*.5;
if (Key.isDown(Key.RIGHT)) {
mcPaddle2._x = mcPaddle2._x + 5;
}
if (Key.isDown(Key.LEFT)) {
mcPaddle2._x = mcPaddle2._x - 5;
}
}
mcBall._x += ballXSpeed;
mcBall._y += ballYSpeed;
if (mcBall._x>=Stage.width-mcBall._width) {
ballXSpeed *= -1;
}
if (mcBall._x<=0) {
ballXSpeed *= -1;
}
if (mcBall._y>=Stage.height-mcBall._height) {
ballYSpeed *= -1;
}
if (mcBall._y<=0) {
ballYSpeed *= -1;
}
if (mcBall.hitTest(mcPaddle)) {
calcBallAngle();
}
if (mcBall.hitTest(mcPaddle2)) {
calcBallAngle1();
}
};
function calcBallAngle():Void {
var ballPosition:Number = mcBall._x-mcPaddle._x;
var hitPercent:Number = (ballPosition/(mcPaddle._width-mcBall._width))-.5;
ballXSpeed = hitPercent*10;
ballYSpeed *= -1;
}
function calcBallAngle1():Void {
var ballPosition:Number = mcBall._x-mcPaddle._x;
var hitPercent:Number = (ballPosition/(mcPaddle._width-mcBall._width))-.5;
ballXSpeed = hitPercent*10;
ballYSpeed *= -1;
}
Możecie powiedzieć jak to zmienić, aby można było sterować obiema paletkami w pongu(strzałkami mogę zmieniać _x, tylko gdy mysz wyjdzie poza stage) oraz wyłapać błędy.