Javascript - ako na pohyb objektu
Napsal: 02 dub 2015 14:16
Čaute, riešim jeden celkom zásadný problém. Robím na hre s názvom Breakout. Jej cieľom je zostreľovať tehličky v hernom poli pomocou odrazov guličky. Pohyb guličky je v poriadku, normálne sa odráža od stien, no dáko mám problém s rozpohybovaním bumperu pomocou myši. Momentálne je to v takom štádiu, že mi momentálne nechytí x a nejde...mám dáky problém so syntaxou. Kto by mi bol ochotný pomôcť to rozbehať? tu je zdroják:
Kód: Vybrat vše
var canvas
var ctx
var text
var frame = 0
//var mouse = {x: 0, y: 0}
setInterval(step,33);
// Model - uchovava vsetky objekty v scene a modeluje ich vlastnosti
var ball = {
x: 50,
y: 50,
dx: 10,
dy: 3,
move: function() {
// Logika
if (this.x >= canvas.width || this.x <= 0)
{ this.dx *= -1 };
if (this.y >= canvas.height || this.y <= 0 )
{ this.dy *= -1 };
/*if (this.y = canvas.height)
{ frame = 0 }*/
// Posun
this.x = this.x - this.dx;
this.y = this.y - this.dy;
}
}
/* var bumper = {
x: 120,
y: 20,
ddx: 5,
var ddx = mouse.x - this.x
}*/
// View - stara sa len o vykreslovanie ale pozna model
function drawBall() {
// Zmaz plochu
ctx.clearRect(0,0,canvas.width,canvas.height);
// lopta
ctx.fillStyle = "red";
ctx.beginPath();
ctx.arc(ball.x, ball.y, 10, 0, Math.PI*2);
ctx.closePath();
ctx.fill();
}
function drawBumper(){
ctx.beginPath();
ctx.rect(/*bumper.x*/275, 362, 300, 365);
ctx.fillStyle = 'blue';
ctx.fill();
}
/* function setText() {
text.innerHTML = "Frame: " + frame;
}*/
// Controller - ovlada beh aplikacie
function step() {
frame++;
ball.move();
drawBall();
bumper.move();
drawBumper();
// setText();
}
// Inicializacia
window.onload = function() {
text = document.getElementById("text");
canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
}
/*window.onmousemove = function(event) {
mouse.x = event.x
mouse.y = event.y
}*/