Código para Detectar colisões entre objetos javascript e vb6

Quando estamos criando aquele jogo a colisão é umas das partes mais complicada de fazer, então venho aqui facilitar a sua vida disponibilizando o código bem fácil de entender. Faça bom aproveito e compartilhem!


JavaScript

// craindo os objetos
var objeto1 = document.getElementById('inimigoGame'); // identificação do primeiro objeto
var objeto2 = document.getElementById('tiroGame'); // identificação do segundo objeto

//Criando as variáveis e atribuido o valor.
var objeto1x = objeto1.offsetLeft; //capturando a posição em x
var objeto1y = objeto1.offsetTop; //capturando a posição em y
var objeto1w = objeto1.offsetWidth; //capturando a largura
var objeto1h = objeto1.offsetHeight; //capturando a altura

var objeto2x = objeto2.offsetLeft; //capturando a posição em x
var objeto2y = objeto2.offsetTop; //capturando a posição em y
var objeto2w = objeto2.offsetWidth; //capturando a largura
var objeto2h = objeto2.offsetHeight; //capturando a altura

//parte logica da colisão
colisao1 = (objeto2x + objeto2w >= objeto1x) && (objeto1x + objeto1w >= objeto2x);
colisao2 = (objeto2y + objeto2h >= objeto1y) && (objeto1y + objeto1h >= objeto2y);

//caso houver colisão
if((colisao1 && colisao2)){
  alert('colisão');
}

visual basic 6

‘Criando as variáveis
Dim ax, ay, aw, ah As Double
Dim bx, by, bw, bh As Double
Dim colisao1, colisao2 As Boolean

'Capturando informações sobre o primeiro objeto
ax = objeto1.Left 'capturando a posição em x
ay = objeto1.Top 'capturando a posição em y
aw = objeto1.Width 'capturando a largura
ah = objeto1.Height 'capturando a altura

'Capturando informações sobre o segundo objeto
bx = objeto2.Left 'capturando a posição em x
by = objeto2.Top 'capturando a posição em y
bw = objeto2.Width 'capturando a largura
bh = objeto2.Height 'capturando a altura

'parte logica da colisão
colisao1 = (bx + bw >= ax) And (ax + aw >= bx)
colisao2 = (by + bh >= ay) And (ay + ah >= by)

'caso houver colisão
If (colisao1 And colisao2) Then
 MsgBox ("colisão")
End If

Postar um comentário

0 Comentários