Ich arbeite an einem Wort-Scramble-Spiel, das es dem Benutzer ermöglicht, das Bild zu einem Bild zu verschieben. Wenn das Bild nicht zusammenpasst, sollte es an die ursprüngliche Position zurückkehren, von wo es gezogen wurde. Ich habe einen Beispielcode geschrieben um das Bild zu bewegen, aber das Problem ist hier, wenn ich ein Bild bewege, beginnt auch das benachbarte Bild sich zu bewegen. Hier ist der Beispielcode.
%Vor% %Vor%Jeder plz helfen mir aus .. Versuchen, alles mögliche zu lösen.
Sie müssen sicherstellen, dass das Ereignis in dem gegebenen Ball stattfindet. Das onTouch-Ereignis wird auch dann deklariert, wenn Sie sich außerhalb des Bildobjekts befinden. Sie können also in den ACTION_DOWN-Phasen, die Sie blockiert haben, nachsehen, ob sich die Berührung in den Grenzen des Objekts befindet. Sie könnten dann eine Flagge setzen, um dem System mitzuteilen, welcher Ball bewegt wird. Ich lasse dich die Programmierung machen, aber das wird dir hoffentlich eine Idee geben, was zu tun ist.
Sie können eine Idee aus diesem Code nehmen, es wird sehr hilfreich sein ... und ich arbeite auch an diesem Konzept.
%Vor%Und XML ist .....
%Vor%
Silly me ... Nachdem ich es genauer betrachtet habe, habe ich gemerkt, dass es deine grundsätzliche Herangehensweise ist, die falsch ist. Sie möchten den onTouchListener im ImageView des Balls einstellen. Ich würde eigentlich nur ein Ball-Objekt erstellen, du wirst später etwas mit ihnen machen wollen. Die rohen Koordinaten sollten genauso gut funktionieren wie überall, also ... Gib das eine Chance und lass mich wissen, wie es funktioniert.
Ich versuche ein ähnliches Programm zu schreiben und habe das gleiche Problem. Es scheint mir, dass es im gesamten Programm nur einen "onTouchListener" geben kann. Ich benutze FrameLayout und wenn ich den Bildschirm berühre, möchte ich einen neuen Ball erscheinen lassen. Es funktioniert, wenn ich "FrameLayout.setOnTouchListener"
definiereWenn ich den vorhandenen Ball berühre, möchte ich ihn irgendwo ziehen. Es funktioniert, wenn "Ball.setOnTouchListener" definiert ist.
Aber wenn ich beide "setOnTouchListeners" verwende, funktioniert nur einer von ihnen.
Also ich denke, dass Android mit nur einem "setOnTouchListener" arbeiten kann und darin muss man irgendwie (; weiß ich nicht wie) prüfen, welcher dynamisch erstellte Ball berührt wurde und diesen verarbeiten.
Tags und Links android image drag-and-drop ontouchlistener