Codice: Seleziona tutto
var click_mouse = jirafa.audio.load('pong_click.mp3');
var stick_hit = jirafa.audio.load('pong_hit.mp3');
var background = jirafa.image.load('pong.png');
var game_width = 800;
var game_height = 600;
var scorea = 0, scoreb = 0;
var ballx = (game_width / 2);
var bally = (game_height / 2);
var ballvx = 0, ballvy = 0;
var posy = 150;
var cpuy = 100;
jirafa.input.mouse.isMove(game_mouseMove);
jirafa.input.mouse.isDown(game_mouseDown);
jirafa.input.touch.isMove(game_touchMove);
jirafa.input.touch.isDown(game_touchDown);
function game_touchMove (ev) {
if (!ev)
ev = event;
posy = ev.touches[0].pageY;
return false;
}
function game_touchDown (e) {
if (ballvx == 0) { ballvx = 10; ballvy = 0.4;
jirafa.audio.play(click_mouse);
}
}
function game_mouseMove (ev) {
if (ev.layerX || ev.layerX == 0) { // Firefox
posy = ev.layerY;
} else if (ev.offsetX || ev.offsetX == 0) { // Opera & Chrome
posy = ev.offsetY;
}
}
function game_mouseDown (e) {
if (ballvx == 0) { ballvx = 10; ballvy = 0.4;
jirafa.audio.play(click_mouse);
}
}
jirafa.draw = function()
{
// pulisco il game
jirafa.clear();
//background
jirafa.image.draw(background, 0, 0);
// disegno le barre
jirafa.graphics.rect(20,posy - 40,10,80, '#0080C0','#000000');
jirafa.graphics.rect(game_width - 30,cpuy - 40,10,80, '#00603C','#000000');
// disegno la pallina
jirafa.graphics.circle(ballx, bally, 6, '#ffffff', '#000000',1);
// scrivo i punteggi
jirafa.text.print('fill',"PLAYER: " + scorea,20,25,'bold 10px arial','#0080C0');
jirafa.text.print('fill',"CPU: " + scoreb, game_width - 60,25,'bold 10px arial','#FFFFFF');
}
jirafa.update = function()
{
// controllo cpu
if (cpuy < bally) cpuy +=6;
if (cpuy > bally) cpuy -=6;
// aggiorno dati e posizioni degli oggetti nella scena
if (posy < 40) posy = 40;
if (posy > game_height - 40) posy = game_height - 40;
if (cpuy < 40) cpuy = 40;
if (cpuy > game_height - 40) cpuy = game_height - 40;
ballx += ballvx;
bally += ballvy;
// URTI PALLINA
if ((ballvy > 0) && (bally >= game_height - 3)) ballvy = -ballvy;
if ((ballvy < 0) && (bally <= 3))
{
ballvy = -ballvy;
jirafa.audio.play(stick_hit);
}
if ((ballvx > 0) && (ballx >= game_width - 30) && (ballx <= game_width - 15)) {
if ((bally >= cpuy - 40) && (bally <= cpuy + 40)) {
ballvx = - ((Math.random() * 5) + 10);
ballvy = (Math.random() * 16) - 8;
jirafa.audio.play(stick_hit);
}
}
if (ballx > game_width) {
scorea ++; ballx = (game_width / 2);
bally = (game_height / 2); ballvx = 0; ballvy = 0;
jirafa.audio.play(stick_hit);
}
// URTI USER
if ((ballvx < 0) && (ballx >= 25) && (ballx <= 40)) {
if ((bally >= posy - 40) && (bally <= posy + 40)) {
jirafa.audio.play(stick_hit);
ballvx = ((Math.random() * 5) + 10);
ballvy = (Math.random() * 16) - 8;
}
}
if (ballx < 0 ) {
scoreb ++;
ballx = (game_width / 2);
bally = (game_height / 2);
ballvx = 0; ballvy = 0;
jirafa.audio.play(stick_hit);
}
}
jirafa.gameloop = function()
{
jirafa.draw();
jirafa.update();
}
jirafa.run(1000/20);
vedi ..
ma mi garbava mettere i script nel'head invece ora li tengo sotto il canvas e funziona regolare.
idee?