Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 01:57

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[JAVA] Slick2d Framework

Discussion on [JAVA] Slick2d Framework within the Java forum part of the Coders Den category.

Reply
 
Old   #1

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
[JAVA] Slick2d Framework

Wie oben beschrieben, hätte ich ein paar fragen zu dem slick2d framework.

Ich suche eine Möglichkeit Kollusion zu detecten.

Folgendes Beispiel:

Man schießt auf einen Gegner und dieser verschwindet.

________________________________


In Java konnte ich dies nicht ganz umsetzen. Die Schüsse und Monster sind in der dynamischen Datenstruktur Arraylist verbaut und müsste irgendwie mit einer komplexen doppelschleife jeweils checken ob genau dieser schuss, dieses Monster trifft.


Jemand schon was ähnliches gemacht oder hat Hilfe parat ?


Zum Verständnis poste ich auch teile meines Codes


Gruß
xEncounter is offline  
Old 12/18/2014, 11:42   #2
 
XxharCs's Avatar
 
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,228
StackOverflow & Google sind deine Freunde:
XxharCs is offline  
Old 12/19/2014, 02:57   #3

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
Das hat mein Problem nicht gelöst.

Wie man Collusion detected ist mir klar, bloß nicht wie in meinem Fall oben geschrieben(Da ist es komplexer).

Auf die Idee zu googlen und Co. bin ich schon längst gekommen, hab aber nicht brauchbares oder verständliches gefunden.
xEncounter is offline  
Old 12/21/2014, 00:04   #4

 
Hupfi10's Avatar
 
elite*gold: 76
Join Date: Aug 2011
Posts: 2,548
Received Thanks: 1,442
Poste doch den Code, mit dem du es Versucht hast, bitte.
Hupfi10 is offline  
Old 12/21/2014, 19:50   #5

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
Hiermit fange ich den Schuss ab wenn er aus dem Bildschirm läuft.

Code:
		if (!(this.schuss_anzahl.isEmpty())) {

				for (int i = 0; i < this.schuss_anzahl.size(); i++) {
					if (!(this.schuss_anzahl.get(i).y_Pos < 0)) {
						this.schuss_anzahl.get(i).laufen(5);
					} else if (schuss_anzahl.get(0).y_Pos <= 0
							|| schuss_anzahl.get(0).x_Pos <= 0) {
						schuss_anzahl.remove(0);
					}

				}

			}
Theoretisch checke ich hier ob ein Objekt aus schuss_anzahl, ein Objekt aus monster_anzahl trifft.

Code:
		if(schuss_anzahl.get(0).getHitbox().intersects(monster_anzahl.get(0).getHitbox())){
						this.monster_anzahl.remove(0);
						this.schuss_anzahl.remove(0);
					}
Der Index von den beiden Listen, muss ja dynamisch bleiben anstatt 0.

Sobald ich irgendwas mit einer schleife versuche gibs ne Nullpointer exception.
xEncounter is offline  
Old 12/22/2014, 19:55   #6

 
Hupfi10's Avatar
 
elite*gold: 76
Join Date: Aug 2011
Posts: 2,548
Received Thanks: 1,442
Das Framework an sich kenne ich nicht, aber es muss doch sicherlich etwas in Richtung Events geben, die sich Anmelden können und es muss ja für deinen Collider ein Event in Richtung on Hit geben. Optional könnten die Schüsse auch Objekte sein, die relativ zu einem 2D Vektor (ich nehme mal an es ist ein 2D Game) generiert werden, eine art Velocity in Forward bekommen und wenn diese dann einen Collider berühren, welcher eine Instanz des Objekts "Monster" ist, dann zerstören sie sich selbst. Der Ansatz technisch möglich mit deinem Framework?
Hupfi10 is offline  
Thanks
1 User
Old 12/22/2014, 20:41   #7

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
Den Ansatz mit dem 2D Vektor habe ich auch überlegt.

Nur leider habe ich keine Ahnung davon ^^.

Gibt es Irgendwo Infos dazu oder eine Kurzerklärung ?
xEncounter is offline  
Old 12/22/2014, 22:11   #8

 
Hupfi10's Avatar
 
elite*gold: 76
Join Date: Aug 2011
Posts: 2,548
Received Thanks: 1,442
Naja ein 2D Vektor ist leicht erklärt

Du hast eine Floating Point Variable die die X-Richtung zwischen -1 (links) 0 (nichts) und 1 (rechts) beschreibt und nochmal eine für Z mit -1 (rückwärts) 0 (nichts) und 1 (vorwärts).
Der Input wird dann mit einer Lerp Funktion langsam an die grenzen Angepasst, dass nicht sofort die volle Geschwindigkeit da ist.
Im Anschluss musst du nur noch einen Vektor daraus machen idR nimmt der Konstruktor direkt die zwei Floating Point Variablen und da es ja ein 2D Framework ist wird es wahrscheinlich keine Y Achse geben. Falls doch einfach auf 0f setzten.

Dann aktualisierst du jedes Phys-Frame die Position des Schuss mit oben genanntem Ansatz
Hupfi10 is offline  
Old 12/23/2014, 18:16   #9

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
Geht es mit der Z Achse nicht in die 3D Programmierung ?

Was genau ist eine Lerp Funktion ? Ich habe eine X und Y Achse.
xEncounter is offline  
Old 12/23/2014, 18:59   #10

 
Hupfi10's Avatar
 
elite*gold: 76
Join Date: Aug 2011
Posts: 2,548
Received Thanks: 1,442
Lerp sollte in Mathf dabei sein.
Der Funktion gibt man den aktuellen Wert und den Ziel-Wert. Der aktuelle Wert wird dann über einen bestimmten Faktor pro (Zeit-)Einheit erhöht.
Ein UseCase hiervon wäre z.B. ein Motor. Drückt man auf W für Gas und die maximale Geschwindigkeit die der Motor erreichen kann ist 300KM/H dann wäre es ja unrealistisch wenn man kurz W antippt und man sofort 300 fährt. Die Lerp Funktion kann auch mit Logarithmen arbeiten um noch realistischere Kurven ins Spiel zu bringen.
Hupfi10 is offline  
Old 12/23/2014, 20:47   #11

 
Hupfi10's Avatar
 
elite*gold: 76
Join Date: Aug 2011
Posts: 2,548
Received Thanks: 1,442
Hey,


ich habe dir das ganze mal kurz mal zusamen gebastelt
Fertige .exe findest du im CollisionExample.zip und die Scripts in der Scripts.zip

VT:

OT: Die Datei mit dem exakt gleichen Hash gab es schonmal auf VT
Attached Files
File Type: zip CollisionExample.zip (4.87 MB, 2 views)
File Type: zip _Scripts.zip (1.0 KB, 1 views)
Hupfi10 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Java Could not Create the Java Virtual Machine
09/18/2014 - Technical Support - 2 Replies
Hey, habe grade ein problem undzwar hatte ich Java8u20 Installiert, war soweit ich alles Ok da ich nun aber mal Minecraft Modpack spielen wollte (Technic Launcher) habe ich dort direkt gelesen das bei Java8u20 ein Fehler mit Forge vorliegt, also habe ich Java 8 Deinstalliert & Java 7 Installiert, das problem ist ich konnte seit dem den Launcher nicht mehr starten mit dem error "Java Could not Create the Java Virtual Machine" nun habe ich Java 7 Deinstalliert wollte wieder Java8 Installieren...
[JAVA Error] Could not create the java virtual machine
07/21/2013 - Technical Support - 10 Replies
Schönen Abend! Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt. Die Tips auf Minecraft.net habe ich schon ohne Erfolg befolgt. Hoffe ihr könnt mir weiterhelfen... Mein PC:
recompile Problem (Block.java, item.java)
04/13/2013 - Minecraft - 1 Replies
Guten Morgen liebe Com (: Ich versuche etwas neues in Minecraft.. für mich einzubauen.. neuer Block + das Item dazu, des eingepflanzt werden muss.. wie bei einer Karotte oder einer Kartoffel. Ich zeige euch den Inhalt meiner BlockOnion.java package net.minecraft.src;



All times are GMT +2. The time now is 01:57.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.