DirectX ist eine API für multimediale Anwendungen (hauptsächlich Spiele) für Windows (PC, Xbox etc.). Die Hauptaufgabe liegt dabei bei der Darstellung von 2D und 3D Grafiken (DirectX Graphics), zusätzlich werden aber auch Audio und Netzwerkschnittstellen angeboten. DirectX bietet quasi direkten Zugriff auf die Funktionen der Hardware (z.B. Grafikkarte).  

OpenGL ist der Plattform-unabhängige und Quelloffene Pendant von DirectX Graphics, also wieder eine API welche Zugriff auf Funktionen der Grafikkarte gewährt. OpenGL wurde mittlerweile von Vulcan abgelöst.  

Beide APIs werden meist nicht direkt, sondern über einen Wrapper in Form eines Frameworks oder einer Engine genutzt. Eines dieser Frameworks ist LibGDX, welches hinter der Bühne OpenGL verwendet.

Um auf die Fragen in der Kommentaren zu anderen Antworten einzugehen:

- Was ist Unity: Unity ist eine Engine zur Entwicklung von Spielen. Andere Engines wären z.B. die CryEngine oder UnrealEngine.  

- Was ist Eclipse: Eclipse ist eine IDE, also eine Entwicklungsumgebung, welche dich mit verschiedenen Funktionen (Autovervollständigung, Compile-On-Save, Quickfixes etc.) unterstützt.

- Was ist der Unterschied zwischen einem Eclipse Spiel und dieses OpenGL: Es gibt kein "Eclipse Spiel". Eclipse ist eine einfache IDE. Du kannst das selbe Spiel auch in einem normalen Editor schreiben, was halt deutlich schwerer ist. Was du meinst ist vermutlich Java2D. Java2D wurde nicht für grafisch aufwendige Anwendungen (wie Spiele) entwickelt und die Performance wird dir bei komplexeren Games schnell Probleme machen. Wenn du hingegen auf OpenGL (oder besser auf einen Wrapper wie LibGDX) setzt, können auch komplexere Grafiken noch problemlos dargestellt werden. Zudem sind auch die Schnittstellen bei solchen Frameworks/Engines meist einfacher, da sie speziell für Spieleentwicklung erstellt wurden.

...zur Antwort

Um das Ganze hier etwas aktuell zu halten:

Angular2 ist ja schon seit längerem im Final-Status, wodurch es auch immer mehr Unterstützung durch die verschiedenen IDEs gibt.
Auch TypeScript (die empfohlene Sprache) wird weiterentwickelt und erlaubt den IDEs/Plugins eine bessere Unterstützung.  

Ich arbeite derzeit noch mit Netbeans und dem Netbeans TypeScript Plugin von Everlaw. Die TypeScript-Unterstützung ist zwar recht gut, Angular-Syntax in den HTML-Files wird jedoch (logischerweise) nicht erkannt und somit fehlt auch jegliche Unterstützung.

Es gibt mittlerweile auch eine auf Eclipse basierende IDE names "Angular IDE". Man kann sie scheinbar kostenlos downloaden, aber auf der Webseite scheint sie als Kostenpflichtig auf. Ich habe sie daher noch nicht ausgetestet.

Für Eclipse gibt es des weiteren ein Plugin namens "Angular2 Eclipse" (von Angelo Zerr). Dieses basiert auf seinem TypeScript Plugin "typescript.java" und Unterstützt auch das Angular CLI (mithilfe von Launchern und Wizards).
An beiden Plugins ("typescript.java" und "Angular2 Ecllipse") wird noch gearbeitet. Sie bieten noch keine volle Unterstützung, erleichtern jedoch einiges.

Ansonsten wird oft VisualStudio Code empfohlen. Die TypeScript-Unterstützung sollte dort sehr gut sein, da ja beides von Microsoft entwickelt wird. Ich selbst habe VisualStudio Code jedoch noch nie ausprobiert, da ich aktuell mit NetBeans recht zufrieden bin und ansonsten Eclipse bevorzuge.

...zur Antwort

Ein ähnliches Problem hatte ich manchmal in Eclipse, wenn ich während dem Debuggen einer App in eine Endlosschleife gelaufen bin...  

Da das Ganze bei dir nur auftritt, wenn du einen gewissen Button drückst, würde ich die Funktion dieses Buttons mal gan genau untersuchen!

Möglicherweise verursacht dieser Button eben eine Endlosschleife.

...zur Antwort

Die "return"-Anweisung dient in Java dazu, dem Aufrufer einer Methode einen Wert (welcher meist in der Methode ermittelt wird), zurück zu liefern.

Methoden werden meist dazu verwendet, um Logik auszulagern. Dadurch wird der Code sauberer und man kann diese Code-Teile wiederverwenden.

So könnte ich z.B. eine Methode add(int n1, int n2) haben, welche die beiden Angegebenen int-Werte zusammenzählt und zurückliefert. Diese Methode könnte dann für eine normale Addition, aber auch z.B. für das Berechnen der Fakultät wiederverwendet werden.

Häufig ist es dabei notwendig, dass der Aufrufer mit der Methode "sprechen" kann und umgekehrt. Die Kommunikation vom Aufrufer in Richtung Methode erfolgt mithilfe der Parameter, während die Kommunikation von der Methode zurück zum Aufrufer über den Rückgabewert erfolgt.

Im "Kopf" der Methode wird dabei festgelegt, wie viele und welche Parameter angegeben werden müssen und von welchem Typ der Rückgabewert ist. So z.B. muss folgende Methode einen Wert vom Typ "int" zurückliefern

public int getInt()

während folgende Methode einen Wert vom Typ "boolean" liefern muss:

public boolean getBoolean()

Es ist auch möglich Methoden zu definieren, welche nichts zurückliefern. Diese haben den Rückgabetyp "void":

public void getNothing();

Um den Rückgabewert abzufragen, kann der Aufrufer der Methode diesem z.B. einer Variable zuweisen:

int iWert = getIntWert();
boolean bWert = getBoolean();

Das Schlüsselwort "return" hat aber auch noch eine Weitere Funktion:

Sobald das "return" ausgeführt wird, wird der weitere Code in der Methode nicht mehr ausgeführt. Folgende zwei Code-Beispiele würden dabei zum selben Ergebnis führen:

public int get1IfTrue(boolean b) {
    if (!b)
       return 0;
    return 1;
}
public int get1IfTrue(boolean b) {
    int result = 0;
    if (b)
       result = 0;
    else
       result = 1;
    return result;
}

Kurz gesagt:

Über "return" kann dem Aufrufer einer Methode ein Wert zurückgeliefert werden. Dabei wird die weitere Ausführung dieser Methode abgebrochen und sofort zum Aufrufer "zurückgesprungen". 

Der Wert, welcher zurückgegeben wird wird dabei "Rückgabewert" genannt.

...zur Antwort

In der anderen Antwort wurde bereits erwähnt, dass du sicherstellen sollst, dass du nicht im Akkubetrieb bist.  

Ich möchte dem noch etwas hinzufügen: In der Software "Geforce Experience" von NvIdia kann ein FPS-Limit für Akkubetrieb angegeben werden (ich glaube das Ganze kann sogar pro Spiel festgelegt werden) um eben Energie zu sparen und die Laufzeit zu erhöhen. 

Dieses FPS-Limit ist Standardmäßig auf 30 FPS eingestellt. Wenn du also auch im Akkubetrieb mit > 30 FPS zocken möchtest, dann solltest du die entsprechende Einstellung in Geforce Experience (möglicherweise existiert die Einstellung auch in der Nvidia Systemsteuerung) suchen und umstellen.

Das Ganze kann dann aber die Akkulaufzeit beeinträchtigen!

Zudem muss bei Notebooks auch immer darauf geachtet werden, ob das Spiel mit der richtigen Grafikkarte läuft, da über Optimus dynamisch zwischen der schwächeren aber sparsameren Intel iGPU und der dedizierten Nvidia GPU umgeschaltet wird. Diese Umschaltung funktioniert aber nicht immer perfekt und es wird häufig die falsche GPU verwendet.

...zur Antwort
GTX 1070 & 60 Hz

Ganz klar die 1070 mit 60Hz Monitor.

Der Grund ist, dass ich selbst immer einen 60Hz Monitor benutze (Notebook) und dabei kein Flackern oder ähnliches wahrnehme. Zudem hat die 1070 ja doch deutlich mehr Power als die 1060.

In FullHD mag die 1060 für aktuelle Spiele ja ausreichen, aber man weiß nicht, was zukünftige Spiele so bringen. Auch VR wird ja immer interessanter und da bringt dir dann der bessere Monitor nichts, eine bessere Grafikkarte jedoch schon.

Nicht zu vergessen ist, dass ein späteres Monitor-Upgrade wohl weniger kosten würde als ein Grafikkarten-Upgrade.

...zur Antwort

Hallo, 

auf Notebookcheck gibt es einen Test zu deinem Gerät (http://www.notebookcheck.com/Test-Asus-GL752VW-Notebook.158974.0.html), wo auch auf die Temperaturen eingegangen wird.

Im Test wird die GPU-Temperatur gar nicht erwähnt (und ist daher denke ich auch nicht so kritisch), die CPU-Temperatur erreicht im Stresstest bis zu 92°.

Das ist mMn jedoch noch völlig unbedenklich, da ein Stresstest eher realitätsfern ist, im Normalbetrieb werden deine Komponenten selten unter einer solchen Dauerlast stehen. Zudem throttelt der Prozessor, sobald es ihm zu heiß wird um eben die Temperaturen zu senken. Solange du kein Throtteling (und damit starke Leistungseinbußen) bemerkst, sollte alles passen.

Meine CPU erreicht beim zocken hin und wieder an die 99° und dennoch läuft das Gerät nach 2 Jahren noch tadellos.

Ich empfehle dir jedoch die Lüfter des Notebooks gelegentlich zu reinigen, da sich da Staub anhäuft, der den Luftfluss behindert. Einige Notebooks haben eine Wartungsklappe, über welche die Lüfter zugänglich sind. Diese kann (ohne Garantieverlust) ganz einfach geöffnet werden.

Ob es so eine Klappe bei deinem Notebook auch gibt weiß ich nicht. Ansonsten müsstest du dich bei Asus informieren, wie das bei deinem Notebook zu machen ist oder einen Experten ran lassen.

Zu guter letzt noc heine Frage:

Wie misst du die GPU Temperatur?

Falls du das mit dem Tool "GPU-Z" machst, wie ich, so musst du sicherstellen, ob die Auswahl auf der Nvidia GPU ist und nicht auf der Intel. Falls sie auf "Intel" steht, so wird dir die Temperatur der in der CPU verbauten Grafikeinheit angezeigt (entspricht wohl ungefähr der CPU Temperatur). Falls sie auf "Nvidia 960M" steht, so wird dir die Temperatur der NVidia GPU angezeigt. Diese sollte normalerweise etwas niedriger sein, kann aber durchaus auch über 80° sein.

LG

...zur Antwort

Ich selbst arbeite aktuell an einer Angular2 Web-Applikation (als Sprache verwende ich Typescript).  

Als IDE/Editor verwendet ich den Atom Editor mit dem Atom-Typescript Plugin und da sfunktioniert bisher am besten. Da ich ansonsten hauptsächlich mit Java programmiere und dabei Eclipse verwende habe ich mich natürlich zunächst umgesehen, ob es dafür Plugins gibt. Allerdings konnte ich keines davon auch mit Angular2 zum Laufen bringen.  

Probiert habe ich das eclipse-typescript plugin von palantir, welches (zumindest damals) keine tsconfig unterstützte und in den plugin-optionen nicht alle für mich notwendigen Optionen anbot. So kam es z.B. zu Fehlern, dass die Module aus der Angular2 Bibliothek nicht gefunden wurden, welche ja über npm installiert wurden.

Des weiteren habe ic hTypECS ausprobiert, welches aber scheinbar bei Typescript Version 1.5 stehen geblieben ist.  

Das Plugin typescript.java und das zugehörige angular2-plugin von angelozerr konnte ich zwar installieren, aber ich konnte dabei keine Änderungen an der Bedienung feststellen. 

Das alles kann selbstverständlich auch an mir liegen, kann auch sein, dass die Plugins funktionieren, wenn sie richtig eingerichtet werden.

Zudem habe ich auch Visual Studio Code ausprobiert. Dieser Editor hat soweit ich noch weiß zwar funktioniert, war mir persönlich aber zu minimalistisch. So weit ich mich noch erinnere konnten z.B. nicht zwei Files gleichzeitig geöffnet sein.

Mit dem Atom Editor und dem genannten Plugin komme ich recht gut zurecht. Habe mir zudem noch einige Plugins installiert, welche eine Eclipse-Ähnliche Handhabung ermöglichen (z.B. Eclipse Keybindings, duplicate-lines-upward). Allerdings scheint das Typescript Plugins hin und wieder stark zu hängen. Dieses Problem tritt aber nur sporadisch auf.

LG

...zur Antwort

Da du Libgdx und möglicherweise Programmieren im Allgemeinen erst lernst würde ich eher  klein Anfangen. RPGs sind durch Levelsystem, Skilltree, häufig Open World etc. relativ komplex. Für den Beginn würde ich, vor allem da du scheinbar noch keine konkrete Idee hast, mit Pong oder ähnlichen, simplen Games beginnen.  

Läuft dieses Game erst mal, kannst du es mit RPG Elementen erweitern. Z.B. könnte dein "Schläger" ein Level haben. Mit steigendem Level könnte er größer oder schneller werden. Auch Skills oder Power-Ups könnte es geben etc.

Lg

...zur Antwort

Ja das sollte möglich sein.  

Die Methoden des `InputListener`s bekommen alle den Parameter "InputEvent". Dieses InputEvent hat eine Methode "getRelatedActor", welche den Actor liefert, welcher das Event ausgelöst hat.

Somit kannst du eine Instanz des InputListeners erstellen, welche sich den "RelatedActor" geben lässt. Dieser Actor kann dann mit deinen Buttons verglichen werden (mit "==", da es sich um die selbe Instanz des Actors handeln sollte) und je nach dem, welcher Actor es ist kannst du dann eben richtig reagieren.

Das Ganze könnte dann ca. so aussehen:

final TextButton b1 = new TextButon(...);
final TextButton b2 = new TextButton(...);
ClickListener listener = new ClickListener () {
    public void clicked(InputEvent e, float x, float y) {
      Actor actor = e.getRelatedActor();
      if (actor == b1)
          // Button 1
      else if (actor == b2)
          // Button 2
    }
}
...zur Antwort

Eclipse ist eine Entwicklungsumgebung. Sie erleichtert dir das Programmieren, aber du brauchst Eclipse nicht um zu Programmieren. Du könntest auch mit einem ganz normalen Editor programmieren, ist halt um einiges komplizierter.  

Du kannst nahezu jedes Spiel mit "reinem" Java programmieren, allerdings wurden diese Bibliotheken (Swing oder jetzt JavaFX) nicht für Spiele ausgelegt. Für komplexere Spiele sind sie daher nicht besonders geeignet.  

LibGDX hingegen wurde für die Spielentwicklung konzipiert. Zudem ist es ein Crossplattform-Framework. Spiele die du für PC programmierst können mit ein paar zusätzlichen Codezeilen auch auf Android, iOS oder im Browser laufen. Dabei gilt es natürlich zu beachten, dass Android-Geräte fast auschließlich den Touchscreen als Input verwenden.  

Ich würde dir aber raten klein anzufangen. versuch mal einen Pong-Klon zu machen und steigere dich von da aus. Ein 2D-RPG-Shooter ist für den Anfang sicherlich zu kompliziert und wird nur dazu führen, dass du das Projekt vorzeitig beendest.

Lg

...zur Antwort

Ich habe mit der G602 hin und wieder das selbe Problem. Ich verwende allerdings kein Mauspad und mir kommt es so vor als hängt es vom Untergrund ab.
Wenn dieser leicht unregelmäßig ist, dann bewegt sie sich teilweise sogar von allein, teilweise "lagt" sie leicht also bewegt sich eher ruckartig.
Eine Zeitschrift oder ähnliches als "Mauspad" zu verwenden half mir eigentlich immer.
Du könntest mal versuchen eine andere Unterlage zu verwenden. Es könnte sein, dass das Mauspad und der Sensor nicht "kompatibel" sind, es gibt ja unterschiedliche Sensortypen, die unterschiedlich arbeiten.
Falls ein anderer Untergrund das Problem löst kannst du also einfach ein anderes Mauspad kaufen.
Ansonsten müsstest du mal versuchen die Gaming-Software zu deaktivieren, sodass die Maus unabhängig von der Software arbeitet.
Falls sie dann immer noch spinnt kannst du mal den Support von Logitech anschreiben, die dir möglicherweise weiterhelfen können.

Lg

...zur Antwort

Scheint wohl ein Verhalten von Excel 2013 zu sein (http://support.microsoft.com/de-de/kb/2769340/de).  

So wie ich das aus dieser maschinell-übersetzten Seite herauslesen kann dient dies dazu, überlappende Markierungen hervorzuheben. In welchen Situationen man so etwas aber brauchen kann weiß ich nicht. Ich denke es wäre sinnvoller, wenn erneutes klicken auf eine markierte Zelle die Auswahl wieder aufheben würde, so wie man es von den meisten anderen Anwendungen kennt.  

Leider kann man dieses Verhalten auch nicht aus- bzw. umschalten, die einzige Lösung scheint es zu sein die Auswahl aufzuheben und gewünschte Zellen neu auszuwählen.

Lg

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.