Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
0oFreako0
Anmeldungsdatum: 17.12.2011 Beiträge: 114
|
Verfasst am: 28.02.2012, 09:39 Titel: Direkte Manipulation des Grafikbuffers möglich? |
|
|
Hi ich steh gerade vor einem kleinen Problem.
Ich wollte versuchen das eine Grafik eine Art Oldschool Welleneffekt Animation hat.
So in etwa wollte ich das umsetzen:
Hier ist es nur zum verständniss
A = Pixel
AAAAAAAAAAAAAAAAAAA -> einzelne verschiebungen
AAAAAAAAAAAAAAAAAAA <- rück verschiebung
AAAAAAAAAAAAAAAAAAA
Im Quick and Dirty Fall würde ich es so umsetzen das ich für jede zeile der
Grafik einen Buffer Image Createn müsste und diese dann mit Put (pos,pos)
verschieben müsste.
Kann ich nicht direkt auf den ImagePuffer der Grafik zugreifen und diesen mit ASM verändern? Also Pixels einzeln ansteuern ? |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 28.02.2012, 10:20 Titel: |
|
|
zum Beispiel so...
Code: | Screen 19,32
Dim MyScreen as Integer PTR
MyScreen=cast(any ptr,Screenptr)
MyScreen[0] = &hFFFFFFFF
sleep |
_________________
 |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 14.05.2013, 11:45 Titel: |
|
|
Hallo, guten Tag.
Dieses ist schon ein alter Hut...
Aber noch einmal ein Frage.
Wenn ich in dieser Schleife "Sleep 1" reinsetze , wird nicht geplottet.
Woran liegt das ?
Danke.
Gruss
peter
Code: |
Screenres 512,512,32
Dim Shared MyScreen as Integer Ptr
Dim Shared As Integer x
MyScreen=cast(any ptr,Screenptr)
For x=0 To 511
MyScreen[x] = &hFF0000
sleep 1
Next
sleep
|
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 14.05.2013, 11:57 Titel: |
|
|
der Screen muss für den direkten Zugriff 'geschützt' werden (bin mir nicht ganz sicher wieso...)
also:
Code: |
Screenres 512,512,32
Dim Shared MyScreen as Integer Ptr
Dim Shared As Integer x
MyScreen=cast(any ptr,Screenptr)
For x=0 To 511
screenlock
MyScreen[x] = &hFF0000
screenunlock
sleep 1
Next
sleep |
unabhängig davon wie 'seltsam' das Beispiel auf mich wirkt... _________________
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 14.05.2013, 12:08 Titel: |
|
|
Hi,
die Bildschirmdarstellung wird nach 'sleep' nicht aktualisiert.
Mit einem einfachen Print-Befehl wird dann auch die Grafik sichtbar.
Code: | ScreenRes 512,512,32
Dim MyScreen As Integer Ptr = ScreenPtr
Dim As Integer x
For x=0 To 511
MyScreen[x] = &hFF0000
Sleep 1
Next
? "verdisch .."
Sleep |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
|