virtuelle kamera

  • Hallo,
    da ich noch neu hier bin, kurz ein paar Worte zu mir. Ich bin Informatikstudent (bisher hauptsächlich mit Java Erfahrungen gesammelt) und beschäftige mich privat seit geraumer Zeit mit der Programmierung von Android-Apps, hab also auch da schon ein bisschen Erfahrung gesammelt, würd mich aber definitiv noch als Anfänger bezeichnen. Zur Zeit möchte ich ein Projekt entwickeln dass sich stark an das Spiel "Der heiße Draht" orientiert. Allerdings steht der "heiße Draht" nicht vor einem, sondern liegt quasi flach vor einem. Folgendermaßen ist die Ausgangsidee: Man schaut durch das Display von oben auf einen Ausschnitt einer virtuellen (2-dimensionale)Welt (diese ist deutlich größer als das Display). Auf dieser virtuellen Welt ist die Spur gezeichnet, die man mit einem, in der Mitte des Displays fixiertem, Punkt nachfahren soll ohne die Ränder zu berühren. Die Bewegung des Punktes geschieht in dem man das Smartphone an sich bewegt, also über den Beschleunigungssensor. Je nach Bewegung des Handy sieht man also einen anderen Ausschnitt der virtuellen Welt. Man schaut also durch eine virtuelle Kamera auf einen Ausschnitt dieser virtuellen Welt.
    Ich habe mich bereits mit den Sensoren und dem Auslesen ihrer Daten beschäftigt und auch diverse Tutorials im Netz heraus gesucht. Mein Problem ist jetzt aber, dass es bisher immer darum ging ein Objekt (z.B. eine Kugel) über einen festen Hintergrund zu bewegen. Nun möchte ich ja aber eigentlich den Hintergrund bewegen, der auch im Ganzen deutlich größer als das Display sein soll, und das Objekt soll fest in der Mitte des Displays bleiben. Ich steh zur Zeit ziemlich auf dem Schlauch wie ich die Sache überhaupt anpacken soll und wäre deshalb für Ideen wie ich das angehen kann sehr dankbar.


    Ich hoffe ich konnte das Problem deutlich machen.


    mit freundlichen Grüßen
    sk1ny

  • Mein Problem ist jetzt aber, dass es bisher immer darum ging ein Objekt (z.B. eine Kugel) über einen festen Hintergrund zu bewegen. Nun möchte ich ja aber eigentlich den Hintergrund bewegen,...


    Den Hintergrund zu bewegen ist meiner Meinung nach nicht sinnvoll. Wenn man sich die virtuelle Welt betrachtet, auch wenn sie in diesem Fall "nur" 2D sein soll, so kann doch eine Verschiebung der ganzen Welt sehr viele Berechnungen anstoßen, je nachdem wieviele Objekte sich darauf befinden.
    Besser wäre es, wenn du doch dein Objekt in der Mitte bewegst, während die Kamera immer auf dieses Objekt gerichtet ist und sich mit dem Objekt verschiebt.


    Wie hast du vor das ganze umzusetzen? Alles selbst machen oder OpenGLES bzw. ein Framework zu verwenden? (libGDX, AndEngine,..)
    Sowohl in OpenGL als auch in den Frameworks gibt es meines Wissens nach ein Camera-Objekt(/Methode), welches du auch ganz einfach durch die Welt bewegen kannst.


    block_

  • Hallo,
    vielen Dank erstmal für deine Antwort. Habe mir gestern Abend noch ein paar Gedanken zu dem Projekt gemacht und bin, wie du auch geschrieben hast, zu der Überzeugung gelangt, dass es sinnvoller ist die virtuelle Kamera mit dem Objekt zu bewegen und dann den aktuell sichtbaren Teil der Welt auf dem Display darzustellen.
    Wie gesagt stehe ich noch ziemlich am Anfang der Planung und hatte mir bisher überlegt das ganze über einen ScrollView, auf dem die Welt dargestellt wird, und einem darüber liegenden View der das Objekt darstellt zu realisieren. Aber mittlerweile denke ich nicht, dass das der Sache gerecht wird, man kann den ScrollView zb ja nur in eine Richtung gleichzeitig scrollen.
    Also habe ich mir überlegt dass ganze mit OpenGL ES zu realisieren, allerdings bin ich damit noch nicht vertraut. Bin also zzt dabei mir ein paar Tutorials im Netz zu suchen und nachzuvollziehen. Die von dir genannten FrameWorks sind mir gänzlich unbekannt, wobei zumindest eine schnellsuche über AndEngine gezeigt hat, dass sich dies wohl auf 2D OpenGL Anwendungen konzentriert, was für meine Zwecke ja erstmal ausreichend sein müsste. Ich denke ich werd mich auch darüber mal weitergehend informieren.
    Falls du noch weitere Anregungen für mich hast, wäre ich auf jeden Fall dankbar.


    mfg
    sk1ny

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!