Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Vielen Dank für Eure Hilfe!

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

vor einiger Zeit habt Ihr mir sehr geholfen, bei einem Problem mit JAVA.

Deshalb möchte ich mal an dieser Stelle Danke sagen und Euch einladen,

auf meiner Webseite mein Java Projekt zu testen.

JavaCPC - CPC Games to play online with your browser ist nun seit ein paar Tagen online und bietet Euch jede Menge 'echte' Spiele in einem Java-Emulator für den Schneider/Amstrad CPC an.

Der Clou: Die Spiele sind keine "Roms" oder "Schnappschüsse", sondern sind 1:1 Abbilder der Disketten.

Dank Eurem Forum habe ich es geschafft, diese automatisch laden zu lassen...

(Siehe dazu diesen Beitrag: http://forum.fachinformatiker.de/java/114611-string-einzelne-keyevents-umwandeln-geht.html )

Nochmal Danke an Euch und viel Spass beim Spielen ;)

Markus

gelungenes projekt, wenns auch am design ein wenig mangelt ;-)

aber so werden erinnerungen an die gute alte zeit wach ;-)

  • Autor
gelungenes projekt, wenns auch am design ein wenig mangelt ;-)

Gut, dass Geschmäcker verschieden sind *grins*

An der Startseite werde ich aber nochmal arbeiten...

Damit bin ich selbst noch nicht ganz zufrieden.

Der Rest wird aber so bleiben.

Mir war es wichtiger, die Seite übersichtlich und einfach zu halten, als viel "brimborium" drumherum zu machen...

Bin aber gerne für Kritik und Anregungen offen.

(Schaut dazu am besten mal in mein Forum, dort gibt es einen Punkt, wo man soetwas posten kann. Dieses dann aber bitte auf Englisch, da die Seite überwiegend von Engländern, Griechen, Spaniern und Franzosen benutzt wird.)

Gruss,

Markus

is trotzdem ne geile seite. schon allein wegen ik+. aber wie funktioniert das denn mit der steuerung?

  • Autor
is trotzdem ne geile seite. schon allein wegen ik+. aber wie funktioniert das denn mit der steuerung?

Normal gilt folgende Tastaturbelegung:

- Normale Buchstaben und Ziffern zum schreiben

- Zehnerblock rechts bei Num-Lock ein: Joystickabfrage: 4,8,6,2 - Richtungen, 5 - Feuer

Man kann allerdings auf eine alternative Joystickabfrage umschalten:

- Wenn der Haken gesetzt wird bei "Q,A,O,P, SPACE, CTRL Joystick" liegen die Joysticktasten dort.

Q,A - Rauf/Runter

O,P - Links/Rechts

SPACE,CTRL(STRG) - Feuer 1, Feuer 2

Einige Spiele bieten auch an, die Tasten zu konfigurieren.

Einen echten Joystick bzw ein Gamepad kann man leider nicht benutzen (Ausser, man zeigt mir, wie man Joystick-Signale in KeyEvents umwandeln kann, was cool wäre, weil man so auch die Maus auf Joysticksignale umschalten könnte)

MfG

Markus

[Edit]: Einige Spiele verlangen, dass man 1 oder 2 drücken muss, um etwas zu erreichen.

Dies kann manchmal auf F1 oder F2 liegen... (F1-F9 = F-Tasten 1-9, F12 = F0)

Bearbeitet von Devilmarkus

  • Autor

Jetzt mal ernsthaft: kann man Joysticksignale bzw Maussignale so umwandeln, dass sie einen KeyEvent aufrufen?

Z.B.: Man bewegt die Maus nach rechts, und im Emulator wird die Taste 'Joystick Rechts' gedrückt... Etc....

In Bezug auf Maussteuerung: Für allgemeine Aktionen wie Klick, Release, etc. gibt's das Interface MouseListener, für erweiterte Aktionen wie Mausbewegungen gibt's das Interface MouseMotionListener.

  • Autor

Hallo zusammen,

Ich habe nun sämtliche Suchmaschinen betätigt, aber leider nicht gefunden, was mir weiterhelfen könnte....

Folgendes Problem:

Ich benötige eine Routine, welche mir anzeigt, in welche Richtung die Maus bewegt wird....

Beispiel:

Man bewegt die Maus hoch -> Ausgabe: "Rauf"

runter -> "Runter"....

etc....

Ich weiss zwar, wie ich die X-Y Koordinaten auslesen kann, aber das hilft mir nicht wirklich weiter...

Ich möchte, dass man die Maus wie einen Joystick später benutzen kann.

Wie ich auf einzelne Richtungen (was mir halt fehlt) die entsprechenden Tasten zuweisen kann, weiss ich.

Eine sehr simple Bewegung habe ich auch schon hinbekommen, diese scheitert aber schon daran, wenn z.B. die Maus diagonal bewegt wird.

Vielleicht weiss ja jemand Rat?

 public void mouseMoved(MouseEvent me)

     {  

     int xoldpos = xpos;

     int yoldpos = ypos;

            xpos = me.getX();

            ypos = me.getY();


            if (xoldpos <= xpos - 3){

            Switches.direct = "Right";

            xoldpos = xpos;

            yoldpos = ypos;}

            else

            if (xoldpos >= xpos + 3){

            Switches.direct = "Left";

            xoldpos = xpos;

            yoldpos = ypos;}

                                //              else ???

            if (yoldpos >= ypos + 3){

            Switches.direct = "Up";

            xoldpos = xpos;

            yoldpos = ypos;}

            else

            if (yoldpos <= ypos - 3){

            Switches.direct = "Down";

            xoldpos = xpos;

            yoldpos = ypos;}

            Display.xpos = xpos;

            Display.ypos = ypos;



     } 

Das ist mein Versuch, aber irgendwie klappt das nicht so, wie ich es bräuchte...

Servus,

"klappt nicht" ist keine Fehlerbeschreibung.

Weshalb weist Du xoldpos und yoldpos jeweils in den if-Abfragen noch mal Werte zu? Im einfachsten Fall (und der interessiert hier) willst Du die aktuellen Werte von x und y mit den alten Werten vergleichen. Dazu merkst Du Dir die alten Werte, vergleichst sie mit den neuen und leitest daraus die Richtung ab. Das sieht soweit ganz gut aus. Schmeiß mal den ganzen überflüssigen Code raus und probier mit einer Textausgabe, ob es passt. Wenn nicht, dann sag, was nicht passt.

Peter

Du überschreibst "yoldpos" wenn die Maus nach links oder rechts bewegt wurde. Dann kannst Du natürlich nicht mehr herausfinden, ob gleichzeitig auch eine Bewegung nach oben oder unten stattgefunden hat.

  • Autor

Hallo,

ich habe es heute hinbekommen....

Der Code mag zwar seltsam erscheinen, aber so funzt es:

public void mouseMoved(MouseEvent me)

     {  

     xoldpos = xpos;

     yoldpos = ypos;

     Display.xpos = xpos;

     Display.ypos = ypos;


     xpos = me.getX();

     ypos = me.getY();

     if (mousejoy){


            if (xoldpos <= xpos - 1){

            Switches.directR = 0;

            Switches.directxR = "Right";

            Switches.directxL = "Stop";

            }

            else

            if (xoldpos >= xpos + 1){

            Switches.directL = 0;

            Switches.directxR = "Stop";

            Switches.directxL = "Left";

            }

            xoldpos = xpos;



            if (yoldpos >= ypos + 1){

            Switches.directU = 0;

            Switches.directyU = "Up";

            Switches.directyD = "Stop";

            }

            else

            if (yoldpos <= ypos - 1){

            Switches.directD = 0;

            Switches.directyU = "Stop";

            Switches.directyD = "Down";

            }

            yoldpos = ypos;


     }



     } 
In dem System passiert dann folgendes:
  public void joyReader(){

      if (Switches.MouseJoy){

      if (Switches.directxR.equals("Right"))

          keyboarda.keyPressed(KeyEvent.VK_NUMPAD6);

      if (Switches.directxL.equals("Left"))

          keyboarda.keyPressed(KeyEvent.VK_NUMPAD4);

      if (Switches.directyU.equals("Up"))

          keyboarda.keyPressed(KeyEvent.VK_NUMPAD8);

      if (Switches.directyD.equals("Down"))

          keyboarda.keyPressed(KeyEvent.VK_NUMPAD2);

              Switches.directL++;

              if (Switches.directL >= 4){

                  keyboarda.keyReleased(KeyEvent.VK_NUMPAD4);

              }

              Switches.directR++;

              if (Switches.directR >= 4){

                  keyboarda.keyReleased(KeyEvent.VK_NUMPAD6);

              }

              Switches.directU++;

              if (Switches.directU >= 4){

                  keyboarda.keyReleased(KeyEvent.VK_NUMPAD8);

              }

              Switches.directD++;

              if (Switches.directD >= 4){

                  keyboarda.keyReleased(KeyEvent.VK_NUMPAD2);

              }

      }    

  }

Wie gesagt: Der Code mag etwas umständlich sein, aber so funktioniert es.

Testen kann man das Ganze hier:

JavaCPC - CPC Games to play online with your browser

Wenn der Emulator geöffnet wurde, erscheint oben Rechts ein Menü.

Dort "Settings -> Joystick -> Mousejoystick" aktivieren.

Man kann nun in der Oberfläche (SymbOS) den Mauspfeil mit der Maus auch bewegen...

Maustasten sind auch zugewiesen.

Gruss, Markus

P.S.: Wenn jemand eine elegantere Lösung wüsste, dann wäre es nett, dieses hier zu posten.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.