Konkreten zugriff auf Types

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Neoxit

Betreff: Konkreten zugriff auf Types

BeitragMi, Aug 26, 2009 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Ja ich habe die Suchfunktion verwendet und leider nichts passendes gefunden.

2.

Hallo erstmal ^^

Also habe ein kleines Problem immoment.
Und zwar die tatsache wie man konkret auf Types zugreifen kann in dem man ein Wert abfragt (ID zum beispiel)

Ich mache gerad einen ingame Audio Player für mein game und bin auch recht weit nur ist die Tatsache die, dass ich nicht gezielt auf die zu spielenden Types (Den Path des derzeit gewählten Tracks) zugreifen kann.

Ich zeig euch mal den dafür notwendigen code:

Code: [AUSKLAPPEN]

;Types
Type type_music
   Field id,path$
End Type

;Globals
Global user_musicpath$ = ("music")
Global musicpath
Global backgroundmusic
Global music_id_now
Global how_much_music

;--Musikordner Laden--

musicpath = ReadDir(user_musicpath$)
Repeat
track_now$ = NextFile$(musicpath)
If FileType(user_musicpath$+"/"+track_now$) = 2   Then
      ;Wenn gefundene File ein Ordner ist dann tu nichts
   Else
      track.type_music = New type_music            ;Gefundenen Track
      how_much_music = how_much_music + 1            ;dem entsprechenden
      track\id = local_music_id                  ;Type hinzufügen
      track\path$ = track_now$                  ;(Musikarchiv)
EndIf 
      
Until track_now$ = ("") Goto hauptmenu

;///////////Optionen/////////////
.options
Repeat
Cls


If KeyHit(78) Then music_id_now = music_id_now + 1
If KeyHit(74) Then music_id_now = music_id_now - 1


If music_id_now > how_much_music Then music_id_now = 0
If music_id_now < 0 Then
   music_id_now = how_much_music
   StopChannel(backgroundmusic)
EndIf

For track.type_music = Each type_music
If music_id_now = track\id Then
   backgroundmusic = PlayMusic(user_musicpath$+"/"+track\path$)
EndIf
Next




Nun vllt könnt ihr es sehen was ich meine ^^
Ich habe es auch ohne For schleife versucht somit spielt er aber nur den ersten Type ab.
Und mit NextType (oder so) möchte ich es im grunde nicht verwenden da ich ja konkret abfragen möchte xD so z.b.

Code: [AUSKLAPPEN]

If music_id_now = track\id Then


Ach ich kann mich nich richtig ausdrücken denke ich aber vllt wisst ihr was ich meine ^^

Tankbuster

BeitragMi, Aug 26, 2009 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei dir haben alle Tracks ja die selbe ID. und zwar 0.

Du könntest alle durchnimmerieren. Dazu genügt ein einfacher Zähler, der immer nach Laden eines Liedes vergrößert wird. Wenn jedes Lied eine ander ID hat, funktioniert es auch Wink
Twitter
Download Jewel Snake!
Windows|Android

Neoxit

BeitragMi, Aug 26, 2009 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

how_much_music = how_much_music + 1            ;dem entsprechenden


ist doch drinne?
oder wie meinst du des genau?

----------EDIT-------------

ahhh dammed -.- moment gefunden eben testen (shice vari namen zu ändern xD)


-----------EDIT 2----------

track\id = local_music_id ;Type hinzufügen

müsste eig. -------track\id = how_much_music---- heißen xD

muggefugg xD Danke dennoch kann geclosed werden ^^
  • Zuletzt bearbeitet von Neoxit am Mi, Aug 26, 2009 23:14, insgesamt einmal bearbeitet

TimBo

BeitragMi, Aug 26, 2009 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

wenn das Adden der Tracks eh nur am Anfang stattfindet, dann mach das mit einem Arry.

Ansonsten wird das echt kompliziert.

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Neoxit

BeitragMi, Aug 26, 2009 23:34
Antworten mit Zitat
Benutzer-Profile anzeigen
okay die lösung ist mehr als kacke beim switchen der musik spielt die alte musik immer noch und somit auch der neue geladene (hört sich nich super an xD) sollte es wohl mit PlaySound und LoopSound machen ist in sachen geschwindigkeit wohl eh bei weitem höher oder?

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group