Sound in Java Spiel

lucabo

Neues Mitglied
Vor ab Ich bin lernender Schüler und brauche bei meinem Spiel etwas Hilfe.

Mein Programmiertes Spiel (siehe Datei) geht um einen 1vs1 Shooter. Ich möchte einen Sound einfügen sobal das Projektil die Waffe verlässt. wie Funktioniert das ?

LG Luca
und vielen dank im Voraus!

Code:
import GLOOP.*;
/**
 * @author
 * @version
 */
public class Figur
{
     GLKugel derKopf;
     GLTastatur dieTastatur;
     GLZylinder dasProjektil, diePistole1, dieBrust,dasBein1,dasBein2,derArm1,derArm2;
     Figur player1, player2;
     GLVektor schnell,normal;
     GLQuader dieInsel;

    public Figur()
    {
        derKopf   = new GLKugel (0,200,0,35);
        derKopf.setzeFarbe(0,0,0);
        
        dieBrust  = new GLZylinder(0,120,0,55,30);
        dieBrust.setzeFarbe(0,0,0);
        
        dasBein1  = new GLZylinder(-30,40,0,20,75);
        dasBein1.setzeDrehung(-80,0,0);
        dasBein2  = new GLZylinder(30,40,0,20,75);
        dasBein2.setzeDrehung(80,0,0);
        dasBein2.setzeFarbe(0,0,0);
        dasBein1.setzeFarbe(0,0,0);
        
        
        derArm1 = new GLZylinder(70,120,0,15,70);
        derArm1.setzeDrehung(80,0,0);
        derArm2 = new GLZylinder(-70,120,0,15,70);
        derArm2.setzeDrehung(50,0,0);
        derArm1.setzeFarbe(0,0,0);
        derArm2.setzeFarbe(0,0,0);
        
        diePistole1 = new GLZylinder(-70,110,30,10,50);
        diePistole1.setzeFarbe(5,0,0);
        
        dasProjektil = new GLZylinder(-70,110,30,10,25);
        dasProjektil.setzeDrehung(0,0,0);
        
        schnell = new GLVektor(0,-1,0);
        normal = new GLVektor(0,-1,0);                   
    }
    
    public void links(){
        derKopf.verschiebe(3,0,0);
        
        dasBein1.verschiebe(3,0,0);
        dasBein2.verschiebe(3,0,0);
        
        derArm1.verschiebe(3,0,0);
        derArm2.verschiebe(3,0,0);
        
        dieBrust.verschiebe(3,0,0);
        
        diePistole1.verschiebe(3,0,0);       
        dasProjektil.verschiebe(3,0,0);
        
    }
    
    public void rechts(){
        derKopf.verschiebe(-3,0,0);
        
        dasBein1.verschiebe(-3,0,0);
        dasBein2.verschiebe(-3,0,0);
        
        derArm1.verschiebe(-3,0,0);
        derArm2.verschiebe(-3,0,0);
        
        dieBrust.verschiebe(-3,0,0);
        
        diePistole1.verschiebe(-3,0,0);       
        dasProjektil.verschiebe(-3,0,0);
        
    }
    
    public void vorne(){
        derKopf.verschiebe(0,0,4);
        
        dasBein1.verschiebe(0,0,4);
        dasBein2.verschiebe(0,0,4);
        
        derArm1.verschiebe(0,0,4);
        derArm2.verschiebe(0,0,4);
        
        dieBrust.verschiebe(0,0,4);
        
        diePistole1.verschiebe(0,0,4);       
        dasProjektil.verschiebe(0,0,4);
        
    }
    
    public void hinten(){
        derKopf.verschiebe(0,0,-4);
        
        dasBein1.verschiebe(0,0,-4);
        dasBein2.verschiebe(0,0,-4);
        
        derArm1.verschiebe(0,0,-4);
        derArm2.verschiebe(0,0,-4);
        
        dieBrust.verschiebe(0,0,-4);
        
        diePistole1.verschiebe(0,0,-4);       
        dasProjektil.verschiebe(0,0,-4);
        
    }
    
    public void A(){
      
        derKopf.verschiebe(3,0,0);
        
        dasBein1.verschiebe(3,0,0);
        dasBein2.verschiebe(3,0,0);
        
        derArm1.verschiebe(3,0,0);
        derArm2.verschiebe(3,0,0);
        
        dieBrust.verschiebe(3,0,0);
        
        diePistole1.verschiebe(3,0,0);
        
        dasProjektil.verschiebe(3,0,0);       
        dasProjektil.verschiebe(3,0,0);
        
    }
    
    public void d(){
        derKopf.verschiebe(3,0,0);
        
        dasBein1.verschiebe(3,0,0);
        
        dasBein2.verschiebe(3,0,0);
        
        
        derArm1.verschiebe(3,0,0);
        
        derArm2.verschiebe(3,0,0);
        
        dieBrust.verschiebe(3,0,0);
        
        diePistole1.verschiebe(3,0,0);       
        dasProjektil.verschiebe(3,0,0);
        
    }
    
    public void w(){
        derKopf.verschiebe(0,0,-4);
        
        dasBein1.verschiebe(0,0,-4);
        dasBein2.verschiebe(0,0,-4);
        
        derArm1.verschiebe(0,0,-4);
        derArm2.verschiebe(0,0,-4);
        
        dieBrust.verschiebe(0,0,-4);
        
        diePistole1.verschiebe(0,0,-4);       
        dasProjektil.verschiebe(0,0,-4);
        
    }
    
    public void s(){
        derKopf.verschiebe(0,0,4);
        
        dasBein1.verschiebe(0,0,4);
        dasBein2.verschiebe(0,0,4);
        
        derArm1.verschiebe(0,0,4);
        derArm2.verschiebe(0,0,4);
        
        dieBrust.verschiebe(0,0,4);
        
        diePistole1.verschiebe(0,0,4);       
        dasProjektil.verschiebe(0,0,4);
        
    }
    
    public void start(){
      
        derKopf.setzeDrehung(180,0,0);
        derKopf.setzePosition(0,620,1900);
        
        derArm1.setzeDrehung(70,150,0);
        derArm1.setzePosition(50,550,1890);
        
        derArm2.setzeDrehung(-70,0,0);
        derArm2.setzePosition(-60,550,1890);
        
        dasBein1.setzeDrehung(80,0,0);
        dasBein1.setzePosition(40,460,1900);
        
        dasBein2.setzeDrehung(-80,0,0);
        dasBein2.setzePosition(-40,460,1900);
        
        dieBrust.setzeDrehung(180,00,0);
        dieBrust.setzePosition(0,540,1900);
        
        diePistole1.setzeDrehung(180,0,0);
        diePistole1.setzePosition(50,530,1860);
      
        dasProjektil.setzeDrehung(180,0,0);
        dasProjektil.setzePosition(50,530,1880);
        
    }
    
   public void start2(){     
        derKopf.setzePosition(0,620,-1000);
        
        derArm1.setzePosition(60,550,-1000);
        
        derArm2.setzePosition(-60,550,-1000);
        
        dasBein1.setzeDrehung(-80,460,0);
        dasBein1.setzePosition(30,460,-1000);
        
        dasBein2.setzePosition(-30,460,-1000);
        
        dieBrust.setzePosition(0,540,-1000);
              
        diePistole1.setzePosition(70,530,-975);
      
        dasProjektil.setzePosition(70,530,-975);
        
    }
    
    public void schuss(){     
        dasProjektil.verschiebe(0,0,40); 
    }
          
     public void schuss2(){           
            dasProjektil.verschiebe(0,0,-40);     
    }
    
    
    public void sprung1(){
          derKopf.verschiebe(0,1,00);
        
        dasBein1.verschiebe(0,1,0);
        dasBein2.verschiebe(0,1,0);
        
        derArm1.verschiebe(0,1,0);
        derArm2.verschiebe(0,1,0);
        
        dieBrust.verschiebe(0,1,0);
        
        diePistole1.verschiebe(0,1,0);       
        dasProjektil.verschiebe(0,1,0);
        
    }
    
   public void sprung2(){
          derKopf.verschiebe(0,0.5,00);
        
        dasBein1.verschiebe(0,0.5,0);
        dasBein2.verschiebe(0,0.5,0);
        
        derArm1.verschiebe(0,0.5,0);
        derArm2.verschiebe(0,0.5,0);
        
        dieBrust.verschiebe(0,0.5,0);
        
        diePistole1.verschiebe(0,0.5,0);       
        dasProjektil.verschiebe(0,0.5,0);
        
    }
    
    
    public double dasProjektilZ(){
        return dasProjektil.gibZ();
    }
    
    public GLVektor gibPosition()
    {
        return
        player1.gibPosition();
        
    }

    public double gibX()
    {
        return player1.gibX();         
    }

    public double gibY()
    {
        return player1.gibY();
    }

    public double gibZ()
    {
        return player1.gibZ();
    }

    
    public void zurueckehren()
    {
          dasProjektil.setzePosition(diePistole1.gibX(),diePistole1.gibY(),diePistole1.gibZ());
        }
        
    
    
    
    
  
    }

Code:
import GLOOP.*;

public class Spiel{
    GLTastatur dieTastatur;
    GLKamera dieKamera;
    GLLicht dasLicht;

    GLHimmel derHimmel;
    GLBoden derBoden;
    GLNebel derNebel;
    GLTextur texHintergrund;
    GLQuader dieInsel;
    
    
    Figur player1, player2;
    GLZylinder dasProjektil;
    
    

    public Spiel()
    {
        dieKamera  = new  GLSchwenkkamera();       
        
        
        dieKamera.setzePosition(-500,500,700);
        dasLicht = new GLLicht();
        dieTastatur = new GLTastatur();
        derHimmel = new GLHimmel("himmel.jpg");   
        //derNebel = new GLNebel();
      
        
        dieInsel = new GLQuader (200,370,600,3500,100,3500);
        dieInsel.setzeFarbe(10, 10,0);
              
        texHintergrund = new GLTextur("lava.jpg");
        derBoden  = new GLBoden (texHintergrund);             
          
        player1 = new Figur();
        player2 = new Figur();

        action();
    }

    
    public void action()
    
    {
        
        
        while (!dieTastatur.esc()){
            
            //player1
            if(dieTastatur.links())
            {
                player1.links();
                
            }
                      
             if(dieTastatur.rechts())
            {
                player1.rechts();
            }
                      
             if(dieTastatur.oben())
            {
                player1.vorne();
            }
                      
             if(dieTastatur.unten())
            {
                player1.hinten();
            }
              
            //player2
             if(dieTastatur.istGedrueckt('a'))
            {
                player2.links();
                
            }
                      
            if(dieTastatur.istGedrueckt('d'))
            {
                player2.rechts();
            }
              
            if(dieTastatur.istGedrueckt('w'))
            {
                player2.vorne();
            }
                                  
            if(dieTastatur.istGedrueckt('s'))
            {
                player2.hinten();
            }
            
            if(dieTastatur.istGedrueckt('p'))
            {
                player2.start();
                player1.start2();
            }
            
            //schuesse
            if(dieTastatur.istGedrueckt('m'))
            {
                if(player1.dasProjektilZ() > 4500)
                {
                    player1.zurueckehren();
                    Sys.warte(15);
                }
                              
                player1.schuss();
                
            }
            
             if(dieTastatur.istGedrueckt('f'))
            {
                if(player2.dasProjektilZ() < -4000)
                {
                    player2.zurueckehren();
                    Sys.warte(15);
                }
                player2.schuss2();
            }
            
            
            Sys.warte(5);
        }

    }
}
 

Anhänge

  • Shooter2.zip
    501,2 KB · Aufrufe: 3
Zuletzt bearbeitet:

IAmFloppy

Bekanntes Mitglied
So könnte das ganze mit javax aussehen :)

Java:
import javax.sound.sampled.*;
import java.io.File;

/*
 * With this class you can play sound files
 */
public class Sound {

    /*
     * The sound file (e.g C:\Users\Alex\Desktop\music.wav)
     */
    private File file;

    /*
     * The sound clip
     */
    private Clip clip;

    /*
     * Will be the clip time in microseconds
     */
    private long clipTime;

    /*
     * This constructor defines the file of the sound
     */
    public Sound(File file) {
        this.file = file;
    }

    /*
     * This method will play the sound if it is existing
     */
    public void play() {
        try {
            Thread thread = new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Object lock = new Object();
                        AudioInputStream ais = AudioSystem.getAudioInputStream(file);
                        clip = AudioSystem.getClip();
                        clip.open(ais);
                        clip.addLineListener((e) -> {
                            if (e.getType() == LineEvent.Type.STOP) {
                                synchronized (lock) {
                                    lock.notify();
                                }
                            }
                        });
                        FloatControl control = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
                        int volume = 95;
                        float range = control.getMinimum();
                        float result = range * (1 - volume / 100.0f);
                        control.setValue(result);
                        clip.start();

                        synchronized (lock) {
                            lock.wait();
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                }
            });
            thread.start();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    /*
     * Returns true if the sound is still playing.
     */
    public boolean isPlaying() {
        return clip.isActive();
    }

    /*
     * This method will pause the sound if it's playing
     */
    public void pause() {
        clipTime = clip.getMicrosecondPosition();
        clip.stop();
    }

    /*
     * This method will resume the sound if it's paused
     */
    public void resume() {
        clip.setMicrosecondPosition(clipTime);
        clip.start();
    }

    /*
     * Returns the lenght of the sound in seconds
     */
    public double getLenght() {
        double microseconds = clip.getMicrosecondLength();
        double seconds = microseconds / 1000 / 1000;
        return (seconds - 5);
    }

    /*
     * This method will stop the sound if it's playing
     */
    public void stop() {
        clip.stop();
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Java sound pulseaudio Spiele- und Multimedia-Programmierung 0
C virtueller stereomix (java sound API) Spiele- und Multimedia-Programmierung 0
S Java Sound-API stagniert Spiele- und Multimedia-Programmierung 16
H Java Sound: WAVE Format17 einlesen. Spiele- und Multimedia-Programmierung 2
Kr0e Java Sound API - DataLine Spiele- und Multimedia-Programmierung 2
S Java Sound - Skipping in .mp3 Files und Bug (Bitte überprüfenl) Spiele- und Multimedia-Programmierung 14
C Java Sound API Clip.Close() Problem Spiele- und Multimedia-Programmierung 1
M Java Sound API : Zuordnung Port-Mixer zu Input-Mixer Spiele- und Multimedia-Programmierung 9
P Java Sound OutOfMemoryError Spiele- und Multimedia-Programmierung 2
T Java Sound Probleme Spiele- und Multimedia-Programmierung 8
Dragonfire Java Sound API - Lautstärke ändert sich nicht Spiele- und Multimedia-Programmierung 2
DEvent Java sound Bibliothek Spiele- und Multimedia-Programmierung 11
P Sound Datein mit JAVA zusammenstellen?! Spiele- und Multimedia-Programmierung 3
M Sound-Lösung für Java/JMF Spiele- und Multimedia-Programmierung 8
L Audio-volume /w input Sound.sampled Spiele- und Multimedia-Programmierung 1
K Sound im loop abspielen, wenn boolscher wert true ist Spiele- und Multimedia-Programmierung 3
M Sound Problem Spiele- und Multimedia-Programmierung 3
M Sound Engin Problem 2 Spiele- und Multimedia-Programmierung 2
J Sound und Musik Spiele- und Multimedia-Programmierung 4
I Sound Dateien abspielen Spiele- und Multimedia-Programmierung 9
C Sound einfügen und abspielen Spiele- und Multimedia-Programmierung 6
G Sound-Sampling: Sinuston; kein Fehler, aber auch kein Ton :-( Spiele- und Multimedia-Programmierung 3
M Bilderwechsel in Video an Sound anpassen Spiele- und Multimedia-Programmierung 2
A Problem mit Sound Spiele- und Multimedia-Programmierung 5
F Kein Sound bei javazoom Spiele- und Multimedia-Programmierung 2
J Sound einbinden funktioniert nicht Spiele- und Multimedia-Programmierung 13
F Einen Sound mit veränderter Tonhöhe und Geschwindigkeit abspielen - Hilfe erbeten Spiele- und Multimedia-Programmierung 29
S testen ob Sound läuft Spiele- und Multimedia-Programmierung 3
J Windows Sound Aufnehmen Spiele- und Multimedia-Programmierung 10
C Alles hängt, wenn ein Sound abgespielt wird Spiele- und Multimedia-Programmierung 9
K javax.sound.sampled.Clip clone() Spiele- und Multimedia-Programmierung 2
C Java3D Sound spielt nur einen Sound ab. Spiele- und Multimedia-Programmierung 8
G Ortsabhängiger Sound Spiele- und Multimedia-Programmierung 5
T Sound schneller abspielen Spiele- und Multimedia-Programmierung 4
G Beste Sound Api Spiele- und Multimedia-Programmierung 2
Zettelkasten Spezialwiedergabe von Sound vorzeitig beenden Spiele- und Multimedia-Programmierung 3
A Sound Amplitude ermitteln bzw Sound auslöschen Spiele- und Multimedia-Programmierung 4
P Sound auf zwei Lautsprechern getrennt abspielen Spiele- und Multimedia-Programmierung 9
G javafx MediaPlayer sound problem Spiele- und Multimedia-Programmierung 2
Developer_X Sound Lautstärke ohne spezifische API regulieren Spiele- und Multimedia-Programmierung 3
Pithecanthropus Sound geht nicht Spiele- und Multimedia-Programmierung 6
N sound absoielen Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Point Sound Spiele- und Multimedia-Programmierung 71
B sound mit behavior geht nicht Spiele- und Multimedia-Programmierung 4
0 Sound Spiele- und Multimedia-Programmierung 5
S sound zuverlässig wiedergeben Spiele- und Multimedia-Programmierung 15
G Sound Probleme Spiele- und Multimedia-Programmierung 2
D Sound und Bilddateien vorladen Spiele- und Multimedia-Programmierung 7
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
A Minecraft Java Buch fehlermeldung Spiele- und Multimedia-Programmierung 61
yakazuqi Minecraft java.lang.Error: Watchdog Spiele- und Multimedia-Programmierung 3
L Fehler bei "Nochmal Spielen" (Java) Spiele- und Multimedia-Programmierung 1
N Minecraft Java Error Spiele- und Multimedia-Programmierung 6
M "Java Datei" Cannot be resolved to a variable Spiele- und Multimedia-Programmierung 2
1Spinne Minecraft Fabric Modding Java Error Spiele- und Multimedia-Programmierung 2
Joris Minecraft Minecraft Java Server Spiele- und Multimedia-Programmierung 6
Shanic Minecraft Minecraft Forge Server "Falsche Java Version" Spiele- und Multimedia-Programmierung 6
O Browser-basiertes online Pokerspiel mit Java Spiele- und Multimedia-Programmierung 1
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
G VST-Plugins in Java verwenden Spiele- und Multimedia-Programmierung 0
P Audio Visualizer mit OpenGL in Java? Spiele- und Multimedia-Programmierung 4
P Snake Java Hilfe Spiele- und Multimedia-Programmierung 4
D Minecraft [Minecraft] Java Start Fehler (Core-Dump) Spiele- und Multimedia-Programmierung 1
T Welche packages aus der java api doku ist hilfreich zur Android Spieleprogrammierung Spiele- und Multimedia-Programmierung 2
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
C Java findet FluidSynth nicht Spiele- und Multimedia-Programmierung 2
I Java Andere Fenster in Borderless-Mode setzen Spiele- und Multimedia-Programmierung 16
leon_krys Java-Bußgeldrechner Spiele- und Multimedia-Programmierung 5
G [Java/KryoNet/LibGDX] Mutliplayer Packet Frage Spiele- und Multimedia-Programmierung 2
P Website mit Java Backend? Spiele- und Multimedia-Programmierung 1
D Java Bild bewegen funktioniert nicht Spiele- und Multimedia-Programmierung 8
J Fertigungstechnik.. PLS HALP.. Quellcode vom Text in java-Klasse speichern Spiele- und Multimedia-Programmierung 2
E Kalah Java Implementation Spiele- und Multimedia-Programmierung 1
G [Java] Vereinfachung von Boolean Abfragen Spiele- und Multimedia-Programmierung 3
G [LibGDX/Java] ArrayList Object Speicher Spiele- und Multimedia-Programmierung 3
T Java 3D Spiele- und Multimedia-Programmierung 2
A Spielfelder erstellen mit Jogl Java durch ein Koordinaten Array Spiele- und Multimedia-Programmierung 1
J Java Buttons Spiele- und Multimedia-Programmierung 6
T Java Kalender Spiele- und Multimedia-Programmierung 5
Ice4P4rty Java Optische Oberfläche Spiele- und Multimedia-Programmierung 2
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
N Spiele-Menü in Java Spiele- und Multimedia-Programmierung 9
J HDMI Ausgänge mit Java programmieren? Spiele- und Multimedia-Programmierung 18
H Yu-Gi-Oh! Mit Java was tun? Spiele- und Multimedia-Programmierung 6
G Component System Java 2D Game LibGDX Spiele- und Multimedia-Programmierung 6
S Pong java.lang.StackOverflowError Spiele- und Multimedia-Programmierung 3
C Java aus Klasse rausgehen Spiele- und Multimedia-Programmierung 2
MaxG. Java Internet Radio Spiele- und Multimedia-Programmierung 6
G [Java Server] Allgemeine Frage zum Thema Networking in Videospielen Spiele- und Multimedia-Programmierung 15
P java.lang.NoClassDefFoundError: in Greenfoot Spiele- und Multimedia-Programmierung 0
G Java Achsen invertieren Spiele- und Multimedia-Programmierung 2
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
$ Einstieg in Java Game Development Spiele- und Multimedia-Programmierung 11
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
BraunBerry Java Game verbesserte Kollisionserkennung Spiele- und Multimedia-Programmierung 18
BraunBerry Java Game Waypoint System Spiele- und Multimedia-Programmierung 3
S Hilfe bei Java Gui Spiele- und Multimedia-Programmierung 2
David Schwarzbeck Java 3 dimensionale Kollisions Abfrage Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben