Einige Fragen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Einige Fragen

Beitrag von Rubiko »

1) ich hab mir schon viele beiträge hier durchgelesen, und ein paar mal die Hilfe Datei aber irgendwie versteh ich nicht was der unterschied zwischen keyboardpushed() und keyboardreleased() ist... bei beiden kann man ne konstante für nen key eintragen, ich weiß auch das keyboardpushed für einen pause knopf nicht geht, warum eigentlich?
-beantwortet-

2) wie wäre es möglich level dateien zu schreiben die eingelesen werden können?
-beantwortet-

3) wo finde ich ne userlib zum einbinden von mp3 dateien? ich hab auf irgendeiner seite mal eine gefunden, die man letzendlich aber nicht downloaden konnte (fehler oder so)


4) in einen jump'n'run kann man einen sprung mit einer for/next schleife realisieren zum beispiel so:

Code: Alles auswählen

initkeyboard()
For sprung=1 to 20
   playery + 1
Next
so jetzt is die spielfigur oben, muss wieder runter, ich hätte mir gedacht das, dass auch mit ner for/next schleife gleich darunter geht aber dann hüpft die spielfigur nichtmehr hoch (habs auch schon mit diversen delay orten versucht)

also , wie kommt sie wieder runter?
-beantwortet-

so das wars erstmal...

Rubiko
Zuletzt geändert von Rubiko am 26.03.2005 04:47, insgesamt 2-mal geändert.
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

bei deiner 1. frage kann ich dir helfen Keyboardpushed() heißt übersetzt tastaturgedrückt und Keyboardreleased() heißt tastaturlosgelassen also mit keyboardpushed() sobald eine taste gedrückt wird und keyboardreleased() sobald sie wieder losgelassen wurde
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag von Rubiko »

brauch immernoch hilfe, geht doch sonst so schnell :lol:
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Zu 2.:
Für Leveldaten könntest du die Preference-Lib (in PB enthalten) verwenden.
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Bei mir dauert es auch manchmal ziemlich lange. Schau dir mal meinen Thread im feedback - anwendungen forum an (Z-Commander)

Zu deiner 2. frage kann ich dir vieleicht auch helfen:
es kommt drauf an welche art von level du speichern willst.
Ein Level das ungefähr so aufgebaut ist _ _ - - _ - = -
geht einfach zu speichern (also die striche bedeuten flächen auf die du in einem jump 'n' run wie z.B super mario auf dem Game Boy oder so springen kannst).
Du musst die anzahl der flächen in einer textdatei speichern
Du musst für jede fläche die X und Y Koordinate und die Länge speichern
und du musst das mit bestimmten zeichen trennen.
Die textdatei könnte dann so aussehen:
______[4]___________________[0,20,20]_______________[20,30,20]
Anzahl der Flächen | Erste F. mit x=0 y=20 und länge = 20 | zweite fläche usw.
Die Unterstriche kannst du weglassen ich hab sie jetzt blos gemacht um es einfacher zu gestallten.
Dann musst du die Datei öffnen und die einzelnen werte suchen und auslesen. Eine Prozedur erstellt dann mit den werten ein level.

Wenn es ein Level aus der Draufsicht werden soll musst du in der Textdatei die größe des levels speichern (nicht Pixel sondern Flächen) und dann für jede fläche, welcher typ es ist also Wand, Boden, Gegenstant usw.
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag von Rubiko »

neue frage: wie würde es gehen eine kamera mitlaufen zu lassen?
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Wie meinst du kamera? meinst du Webcam?
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag von Rubiko »

huh war wohl ungenau
eine kamera wie bei Wumi von oben nach unten
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Das mit dem Jump ist einfach zu realisieren. versuch mal das:

Code: Alles auswählen

Global lngGravity.l
Global plyPosition.l

lngGravity= 1
Repeat
    plyPosition + lngGravity
    If plyPosition = 25: lngGravity = -1: EndIf
    If plyPosition = 0: lngGravity =  1: EndIf
    
    Debug plyPosition
    Delay(50)
ForEver
Schleife würde ewig gehen und plyPosition würde von 25 auf 0 und von 0 wieder auf 25 gehen. Mathe, 7. Klasse oder so ;). Sollte vielleicht ein Patent drauf anmelden :twisted:.
Bild
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Achso du musst hald eine Variable erstellen die du bei jedem durchlauf der repeatschleife um 1 oder 10 oder sonst irgendwas erhöhst. Dann ziehst du den wert der variable von allen Y (bei senkrecht. X bei waagrecht) koordinaten ab d.h. wenn du eine fläche mit den koordinaten 0,20 hast wird sie jedes mal in der repeatschleife statt so

Code: Alles auswählen

displaytransparentsprite(0,0,20)
musst du dann so

Code: Alles auswählen

displaytransparentsprite(0,0,20 - variable)
schreiben
Antworten