Wie benutz man die Linkedlist?

Anfängerfragen zum Programmieren mit PureBasic.
S.Wisser
Beiträge: 8
Registriert: 19.07.2010 15:56
Computerausstattung: Prozessor: Sockel 775 Intel Celeron E3300 2X 2,5 GHz
Arbeitsspeicher: 4 GB RAM
Grafikkarte: ASUS EN 9500 GT OC
Wohnort: Eutin

Wie benutz man die Linkedlist?

Beitrag von S.Wisser »

Hallo,

ich würde gerne zu Übungszwecke eine Bildershow mit einer Linkedlist machen.
In dieser Bildershow sollen 2 Bilder (bmp) in einem 5 sec. takt abwechselnd
angezeigt werden.
Die Bilder sollen sich in einer Endlosschleife wiederholen können,
wobei man mit der Esc Taste das Programm beenden kann.
Kann mir jemand sagen wie ich diese Linkedlist anwenden kann?
Ich weiß dass man so eine Animation viel einfacher erstellen könnte,
möchte aber unbedingt eine Linkedlist verwenden.
Aber ich hab keine Ahnung wo ich in dieser Linkedlist die Sprites eintragen muss.
Kann mir jemand helfen?
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: Wie benutz man die Linkedlist?

Beitrag von Mok »

Du könntest die eindeutige ID der Sprites übergeben und dann in der Schleife einen Timer einbauen. Sobald der abgelaufen ist, zeigst du das Bild an, dessen ID im aktuellen Feld ist. Wenn der Timer abgelaufen ist das nächste, usw.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Wie benutz man die Linkedlist?

Beitrag von Bisonte »

Wobei dann evt. ein Array besser passen würde (einfachere Handhabung ?)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
jojo1541
Beiträge: 431
Registriert: 15.09.2007 17:12
Wohnort: Irgendwo im Nirgendwo

Re: Wie benutz man die Linkedlist?

Beitrag von jojo1541 »

Die Linkedlist verhält sich eigentlich fast wie eine Variable. du kannst einem Element in ihr einen Wert zuweisen.

Code: Alles auswählen

NewList Test()

AddElement(Test())
Test() = 2

ForEach Test()
   Debug Test()
Next
Hier könntest du nun die Nummern deiner Sprites abspeichern und dann jeweils mit NextElement() weiterschalten.
Ich verkaufe Rechtschreibfehler und jede menge GROßBUCHSTABEN. Alles unbegrenzt zu haben.
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: Wie benutz man die Linkedlist?

Beitrag von ts-soft »

Code: Alles auswählen

Structure Bilder
  ID.i
  FileName.s
EndStructure

Define.i Dir
Define.s Path = "C:\Eigene Bilder\"
NewList Bilder.Bilder()
Dir = ExamineDirectory(#PB_Any, Path, "*.bmp")
If Dir
  While NextDirectoryEntry(Dir)
    If DirectoryEntryType(Dir) = #PB_DirectoryEntry_File
      AddElement(Bilder())
      Bilder()\FileName = DirectoryEntryName(Dir)
      Bilder()\ID = LoadImage(#PB_Any, DirectoryEntryName(Dir))
    EndIf
  Wend
  FinishDirectory(Dir)
EndIf
Das Beispiel liest ein ganzes Verzeichnis Bilder ein, weil für 2 Bilder wäre die Linklist nicht der Brüller :mrgreen:
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
Antworten