kleine Frage

Anfängerfragen zum Programmieren mit PureBasic.
JustForFun
Beiträge: 4
Registriert: 25.01.2011 21:49
Wohnort: Fulda

kleine Frage

Beitrag von JustForFun »

So ... es wird Zeit für meine zweite Frage hier in diesem Forum.
Ich würde gerne mal wissen mit was für Befehlen ich ein kleines Bausystem schreiben kann.
Ich habe in Photoshop eine Landschaft gemacht und Häuser die ich auf diese Landschaft bauen will.
Ich würde gerne einen kleinen Button in der oberen rechten Seite haben der "Bauen" heißt und woraufhin sich
ein kleiner Bildschirm öffnet indem die Gebäude angezeigt werden die er bauen kann.
Die Gebäude sollen festgelegte Standplätze haben sodass man sie nicht selbst setzen muss.

Würde mich freuen wenn ihr mir die Befehle die sich dafür eignen würden schreiben könntet, damit ich mich dann
durch die Hilfe kämpfen kann ^^

Vielen Dank schonmal im Vorraus
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: kleine Frage

Beitrag von Kiffi »

Kleine Frage, kleines Bausystem, kleiner Button, kleiner Bildschirm...
Kauf Dir doch einfach nen grösseren Monitor ;-)
JustForFun hat geschrieben:Würde mich freuen wenn ihr mir die Befehle die sich dafür eignen würden schreiben könntet, damit ich mich dann
durch die Hilfe kämpfen kann ^^
LoadImage(), OpenWindow(), ImageGadget() kennst Du ja bereits.
Für den kleinen Button nimmst Du noch ein ButtonGadget().
Mehr braucht's eigentlich nicht.

Grüße ... Kiffi

P.S.: Wäre nett, wenn Du Deiner Anfrage noch einen aussagekräftigeren Betreff geben würdest.
Zuletzt geändert von Kiffi am 27.01.2011 23:01, insgesamt 1-mal geändert.
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: kleine Frage

Beitrag von ts-soft »

Direkt zum Thema kann ich nicht antworten, aber da dies bereits Deine zweite Frage ist,
möchte ich Dich darauf Aufmerksam machen, da nichtssagende Titel die Suchfunktion
eines jeden Forums negativ beeinträchtigen. Wäre nett, wenn Du dies schnell mal änderst,
Edit Button drücken und ändern!

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: kleine Frage

Beitrag von TomS »

Es gibt zwei Möglichkeiten.
Entweder du arbeitest mit einem DirectX-Screen (oder Open-GL unter Linux), oder mit ganz normalen Fenstern, wobei die Landschaft und die Häuser auf ein Bild gemalt werden, dass in einem ImageGadget angezeigt wird.
Du musst dich für eine Version entscheiden (wobei man auch einen Screen in einem Fenster anzeigen kann).
Die Vorteile vom Screen liegen bei dieser Art von Anwendung darin, dass man ganz einfach Objekte (Häuser, Bäume etc) verschieben oder wieder entfernen kann.
Bei der Lösung mit ImageGadget, müsstest du bei eine Veränderung halt das ganze Bild neu malen (was jetzt auch nicht sonderlich schwer ist, und auch nicht so lange dauern sollte). Diese Version läuft dann garantiert auf (fast) jedem Computer, also auch auf Windows 95 mit DirectX 3 und einer 2MB Grafikkarte^^

Der Rest ist bei beiden Versionen eigentlich gleich.
Du lädst die Bilder mit LoadImage() bzw. LoadSprite() und speicherst sie in einer LinkedList ider einem Array zusammen mit der Position (X und Y) und der Z-Koordinate (die du frei definieren kannst, z.B. 0 = ganz hinten und 5 ist ganz vorne). Die Z-Koordinate ist dazu da, dass die Bilder in der richtigen Reihenfolge gemalt werden, so dass ein Baum vor einem Haus stehen kann und nicht vom Haus übermalt wird.

Wenn man ein Objekt in "Bauen"-Fenster auswählt, speicherst du die ImageID und die Position in einer weiteren Liste, die dann entweder in der Hauptschleife abgearbeitet wird (beim Screen), oder von einer Zeichnen-Funktion auf das Bild gemalt wird.

Folgende Libraries solltest du dir in der Hilfe anschauen:

Für die Screen-Variante:
Sprite
Mouse

Für die Fenster-Variante:
2D-Drawing
Image
Window
Gadget

Und ImagePlugin brauchst du für beide, wenn du nicht nur Bitmaps verwenden willst.
Antworten