2012-02-23 3 views
-1

J'ai besoin de faire ces tableaux parce que j'essaie de faire glisser une souris du premier au second, du deuxième au troisième, et ainsi de suite ... Chaque glissement devrait être divisé en 25 étapes et prendre 1000 millisecondes.Comment écrire un tableau de coordonnées x et un tableau de coordonnées y?

Je ne sais pas comment démarrer la méthode exactement.

public void glide (int [] x, int [] y) J'ai même des doutes que j'ai mis cette méthode correctement. Je ne sais vraiment pas comment démarrer cette méthode.

Répondre

0

La meilleure approche serait d'utiliser un tableau multi-dimensionnel afin de stocker vos valeurs. Voici un exemple:

public void glide(int[][] points) 
{ 
    // ... 
} 

int[][] p = new int[25][25]; 
// assign points 
glide(p); 
0

Eh bien cette méthode prend deux tableaux comme parameters. Donc, pour utiliser la méthode de glissement, vous devriez déjà avoir deux tableaux écrits. En Java, vous faites le tableau en disant:

private int[] x-coords = new int[SIZE] // SIZE is how many elements will be in the array 
private in[] y-coords = new int[SIZE] // They should be the same if you're using them as coordinates 

puis d'utiliser la méthode de glissement vous diriez

glide(x-coords,y-coords); 

Maintenant, pour autant que cette méthode va écrire .... ça va dépendre beaucoup des choses et si vous montriez plus du code alors cela aiderait beaucoup. Essentiellement ce que vous voulez faire est:

public void glide(int[] x, int[] y) { 

    // Standard loop to iterate through all the elements of the x array 
    for(int i=0; i<x.length; i++) { 

    // This moves the pointer 
    mouseMove(x[i],y[i]); 

    // This pauses 
    try { 
     Thread.sleep(1000); 
    } catch(InterruptedException e) {} 

    } 

} 

Maintenant que tout cela est faire est de déplacer la souris (je l'espère par petits incréments) 1000 millisecondes. La façon dont vous brisez les coordonnées n'est pas la méthode la plus efficace (pourquoi utiliser des tableaux au lieu d'utiliser des maths dans le code), mais cela fonctionnera de cette façon. Juste exige beaucoup plus de maths de votre part au lieu des ordinateurs. Fondamentalement, vous voulez glisser des coordinates (x [0], y [0]) vers (x [24], y [24]). Donc, le point de départ va être les premiers points dans les tableaux et le point final est les derniers points dans les tableaux. Ensuite, chaque nombre entre les deux devrait se déplacer, mais il doit bouger beaucoup. La manière présentée dans How to move a mouse smoothly throughout the screen by using java? sera la plus efficace. Tout ce qu'il a fait, c'est laisser l'ordinateur faire le calcul et au lieu d'utiliser des tableaux, il a juste mis un point de départ et un point final. Vous devriez lire cela et essayer de comprendre ce code aussi bien que possible.

+0

ok merci pour le début mais comment déplaceriez-vous la souris au xy corrdinates – user1205958

+0

Cela dépend de beaucoup de choses. La question ne décrit pas la situation du tout. Êtes-vous censé provoquer le déplacement du pointeur de l'utilisateur? Vous déplacez simplement une image sur l'écran? Quelles bibliothèques Java êtes-vous censé utiliser (je suppose que c'est une sorte de devoir) J'ai besoin de plus de détails pour pouvoir répondre correctement – CaldwellYSR

+0

OK bien Im faisant une classe de robot et je ne pense pas que c'est un programme client. Vous êtes juste supposé obtenir des coordonnées (x, y) et faire glisser la souris sur le premier point puis sur le second. Eac glide est censé être décomposé en 25 étapes et cela devrait prendre 1000 millisecondes. C'est tout ce dont j'ai besoin. Je suis désolé si vous ne comprenez toujours pas, mais merci d'essayer de m'aider. J'ai vraiment besoin d'aide. – user1205958

Questions connexes