Moi-même shweta dodiya.J'ai un problème lié au capteur et la logique en j2me que j'avais mis en œuvre pour atteindre le résultat dans mon projet.La logique que j'avais mis en œuvre est la suivante : -Nokia N97 Relatif au capteur Api et certains logique Java
sensor= (SensorConnection) Connector.open("sensor:acceleration");
try {
data = sensor.getData(1);
} catch (IOException ex) {
ex.printStackTrace();
}
for (int i = 0; i < data.length - 1; i++) {
value[i] = data[i].getDoubleValues()[0];
}
CurrentValX = value[0];//X-axis of sensor
CurrentValY = value[1];//y-axis of sensor
if (CurrentValX < PreValueX1) {
left = false;
right = true;
} else if (CurrentValX > PreValueX1) {
left = true;
right = false;
}
if (CurrentValY < PreValueY1) {
down = false;
up = true;
} else if (CurrentValY > PreValueY1) {
down = true;
up = false;
}
if (right == true && ballX < Scrwidth - 15) {
ballX += 4;
} else if (left == true && ballX > 15) {
ballX -= 4;
}
if (down == true && ballY < Scrheight - 15) {
ballY += 4;
} else if (up == true && ballY > 15) {
ballY -= 4;
}
CurrentValY = PreValueY1;
CurrentValX = PreValueX1;
//check for the collision of ball with the other object like brick
if (bricksprite.collidesWith(ballSprite, true)) {
if (right) {
ballX -= 10;
}
if (left) {
ballX += 10;
}
if (up) {
ballY += 10;
}
if (down) {
ballX -= 10;
}
}
le problème que je rencontre est dans la collision de la balle et la bricks.when il s'entrent en collision je veux déplacer la balle dans le sens opposé de la collision.But quelque temps la balle au lieu de se déplacer dans Dans la direction opposée, il continue de se déplacer dans la même direction. J'ai eu la direction de la balle à travers le booléen en haut, en bas, à gauche, à droite.
S'il vous plaît me aider à résoudre et me guider et me corriger si im tort quelque part
Merci à l'avance
Votre logique est fausse. Lisez à propos de VECTORS in Math, et implémentez-les dans votre code. Vous obtiendrez alors un code beaucoup plus simple et beaucoup de jeu à l'aspect naturel! Pour inverser la trajectoire des balles, inversez son vecteur. Pour le faire avancer de 90deg, tournez son vecteur de 90deg ... Vous ne devriez jamais faire de changements linéaires aux coordonnées des objets comme vous le faites. – Cipi
Merci pour la réponse –