Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.12.2011, 22:47

Need help! Kleine spielerische Interaktionen

Hallo Leute,
ich studiere Medienkonzeption und bin im 1.Semester und habe nun seit 3 Monaten Programmieren.
Zuerst mit Processing und jetzt steigen wir um auf eclipse.
Java also.

Unsere Aufgabe ist es ein Konzept zu erstellen in dem wir erklären, wie wir die einzelnen Aufgaben realisieren und mit welchen Funktionen (Schleifen, if Claufes,....etc.)

Aufgabe




Erstellen Sie die Dokumentation zu einer weiterentwickelten Winterlandschaft. Hierbei sollen
zunächst die Vögel intelligenter werden und gezielt zum Vogelhaus und aus dem Bild fliegen.
Konzipieren Sie zudem eine Nutzeraktion mit komplexen Auswirkungen, z.B. Vögel füttern oder
Vögel mit Schneeballkanonen abschießen.



Wäre cool wenn ihr mir helfen könntet. Es geht nicht darum es zu programmieren sondern nur zu erläutern wie!?


1. Vögel fliegen gezielt zum Vogelhaus nach und nach
2. Vögel fliegen aus dem Bild
3. Vögel werden abgeschmissen
4. Vögel werden gefüttert


Also zu 3. z.B. habe ich mir gedacht das der Mouse immer ein ein Schneeball folgt, das würde ja durch zuweisen gehen, das wüsste ich. Und dann fängts schon an, wie programmier ich da, das der Vogel auf den ich klicke (Vögel sind in einer Klasse und durch ein Array abgespeichert) weg ist oder dass dann der Vogel anders aussieht?


Bitte bitte helft mir, das wäre so super!


Herzliche Grüße :)

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

2

27.12.2011, 22:56

Zitat

das der Vogel auf den ich klicke (Vögel sind in einer Klasse und durch ein Array abgespeichert) weg ist oder dass dann der Vogel anders aussieht?


1. Gucken ob das Sprite des Vogels unter dem Punkt ist auf den du gerade geklickt hast (x > bildx && x < bildx+breite...).
2. Sprite wechseln (also eine andere Grafik anzeigen).

Um die Vögel geziehlt fliegen zu lassen -> Vekorrechnung.
Nach und nach indem du guckst ob der "aktuelle" Vogel mit dem Vogelhaus collidiert (wieder Koordinaten vergleichen), dann kannst du ihn ja z.B. löschen und den nächsten nehmen.

Vögel aus dem Bild versteh ich nicht was du meinst.

Vögel abschmeißen und füttern geht wie bei 1 und 2 erläutert.

Das war jetzt alles nicht so präzise aber ich bin müde ^^
Außerdem will ich dir ja nicht den Lerneffekt klauen.

3

27.12.2011, 23:04

Danke für die schnelle Antwort.
Aber was meinst du denn mit Sprite?

4

28.12.2011, 00:27

Das Bild. Google hätte auch geholfen. ;)

MfG
Check

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

5

28.12.2011, 12:55

Zitat

Aber was meinst du denn mit Sprite?


Ich denke mal ihr seit im 2D Bereich, also sind Sprites die kleinen Flächen mit einer Grafik die irgendwas darstellen (z.B. einen Vogel).
Mit was zeichnet ihr überhaupt? Swing?

6

28.12.2011, 20:28

http://services.dm.hs-furtwangen.de/~beh…plet/index.html

Hier ist der Link zu bereits erstellten Winterlandschaft (jedoch mit Processing und noch nicht eclipse)

Und darauf soll ich nun aufbauen und eben das mit dem abschießen usw machen...

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

7

28.12.2011, 21:20

Hast du das selber gemacht oder ist das vorgegeben? Weil wenn du es selber gemacht hast sollte der Rest doch kein Problem darstellen? Was du machen müsstest (an Mausklicks kommen usw.) haben dir die anderen und ich ja schon erklärt.

8

28.12.2011, 21:44

Ja hab ich selbst gemacht.
Hab aber trotzdem irgendwie Probleme mit dem Rest.

Wie mach ich es denn, dass der Vogel der angeklickt wird z.b verschwindet.. mir geht's dabei genau wie ich programmieren kann das der den ich anklick reagiert...

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

9

28.12.2011, 22:29

Speicher die Objekte in einem Array. Jedes Objekt hat Koordinaten. Wenn nun die Maus betätigt wurde, fragst du ab, an welchen Koordinaten der Mausklick war und durchläufst dann deine Objekte und prüfst bei jedem einzelnen, ob dessen Koordinaten mit geringen Abweichungen mit denen des Mausklicks übereinstimmen. Stichwort: Kollisionsprüfung.
Wenn ja: Objekt gefunden, mach damit was du willst. ;)
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

10

29.12.2011, 19:30

Die Idee von Architekt ist schon ganz nett. Eine passendere Datenstruktur als das Array wäre hier der K-d tree.
Super für abfrage wie "Welches x ist am nächsten an y".

http://en.wikipedia.org/wiki/K-d_tree

€: Wobei jetzt wo ich mir so die Winterlandschaft ansehe. Die Vögel fließen alle im oberen Quadranten. D.h der Baum wäre sehr entartet.
"Das ist ein Minkovski Raum, manche Menschen nennen ihn auch Weltraum" Prof. Dr. Jürgen Wambach, Theoretische Physik, TU Darmstadt | Meine Homepage

Werbeanzeige