Das offizielle Klomanager-Forum
DeutschEnglish RegistrierenAnmeldenHilfe/FAQsDisclaimerStatistikKalenderSuche
Klomanager - Hochgewürgt Topfree.de Impressum

Das offizielle Klomanager-Forum » Kaffeeklatsch » Fortsetzung "Schwamm drauf!" » Themenansicht

Autor
Themenseiten: Druckversion
000
07.09.2004, 10:18 Uhr
schrottXXL
Gebranntes Kind
Parzellenbesitzer

Avatar von schrottXXL

Beiträge: 1459
Dabei seit:
07.10.2003, 19:53 Uhr
Da die Doppelpostsperre leider ein Weiterschreiben am alten Thread verhindert () ...

So, konnte den Programmcode nach ein wenig Ausprobieren dank Matthias Tipp (danke ) "etwas" reduzieren :
format_source('If firstst = 1 And FOstart.loaded = 1 Or resized = 1 And FOstart.loaded = 1 Then
For cre = 0 To schwammstufen
If cre > 0 Then
Load PICtrf(cre)
Load PICtrfSW(cre)
End If

PICtrfSW(cre).Width = PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabX
PICtrfSW(cre).Height = PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabY
PICtrf(cre).Width = PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabX
PICtrf(cre).Height = PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabY

If cre < schwammstufen Then
PICtrfSW(cre).PaintPicture PICschwammSW.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabX, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabY ', , , , , &H660046
PICtrf(cre).PaintPicture PICschwamm.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabX, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabY ', , , , , &H660046
Else
PICtrfSW(cre).PaintPicture PICschwammnassSW.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabX, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabY ', , , , , &H660046
PICtrf(cre).PaintPicture PICschwammnass.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabX, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabY ', , , , , &H660046
End If
Next
firstst = 0
resized = 0
End If
')Und so wird der Schwamm draufgepinselt:
format_source('If trf < schwammstufen Then
Picture1.PaintPicture PICtrfSW(trf).Image, klickX - 0.5 * PICschwamm.Width * maÃ?stabX * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?stabY * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H8800C6
Picture1.PaintPicture PICtrf(trf).Image, klickX - 0.5 * PICschwamm.Width * maÃ?stabX * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?stabY * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H660046
Else
Picture1.PaintPicture PICtrfSW(trf).Image, klickX - 0.5 * PICschwamm.Width * maÃ?stabX * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?stabY * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H8800C6
Picture1.PaintPicture PICtrf(trf).Image, klickX - 0.5 * PICschwamm.Width * maÃ?stabX * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?stabY * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H660046
End If
')Macht das ganze deutlich übersichtlicher und einfacher . Hätt ich auch mal selbst drauf kommen können .

Ich verstehe aber immer noch nicht ganz, warum das so schei�langsam läuft. Trotz Vorskalierung läuft das ganze kein bisschen schneller. Und an der Berechnung der Position kanns wirklich nicht liegen, das ist ja witzlos.
Komisch: Vor allem solange der Schwamm groÃ? ist, dauerts.

Hm ... sicherlich ist das auch etwas dumm, dass ich bei jeder Veränderung alles (Opfer, Schwamm, ...) neu druafpinseln muss - und dann auch noch doppelt, aber da wei� ich leider keine Alternative.

Erklärt aber trotzdem noch nicht ganz, warum das so langsam ist
Kann ja nich sein, das VB so langsam pinselt ...
Ich schau mir den Programmkot nochmal an ...



Edit:
Ich habe jetzt mal das mit dem Schwammwurf in ein neues Projekt "extrahiert" - und siehe da: es läuft immer noch kein bisschen schneller
Was zum Teufel mach ich falsch?
format_source('Public schwammstufen, maÃ?stabx, maÃ?staby, z1, z2

Private Sub Form_Click()
loaded = 1
firstst = 1
schwammstufen = 4
maÃ?stabx = 1
maÃ?staby = 1
z1 = "2"
z2 = "0.4"

If firstst = 1 And loaded = 1 Or resized = 1 And loaded = 1 Then
For cre = 0 To schwammstufen
If cre > 0 Then
Load PICtrf(cre)
Load PICtrfSW(cre)
End If

PICtrfSW(cre).Width = PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabx
PICtrfSW(cre).Height = PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?staby
PICtrf(cre).Width = PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabx
PICtrf(cre).Height = PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?staby

If cre < schwammstufen Then
PICtrfSW(cre).PaintPicture PICschwammSW.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabx, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?staby ', , , , , &H660046
PICtrf(cre).PaintPicture PICschwamm.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabx, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?staby ', , , , , &H660046
Else
PICtrfSW(cre).PaintPicture PICschwammnassSW.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabx, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?staby ', , , , , &H660046
PICtrf(cre).PaintPicture PICschwammnass.Picture, 0, 0, PICschwamm.Width * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?stabx, PICschwamm.Height * (Val(z1) - Val(z2) / (schwammstufen / 4) * cre) * maÃ?staby ', , , , , &H660046
End If
Next
firstst = 0
resized = 0
End If
'PICtrf(4).Visible = True
'PICtrf(4).ZOrder
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
klickX = X
klickY = Y
myx = 1500
myy = 1800
byklickX = myx
byklickY = myy

For trf = 0 To schwammstufen
Picture1.Cls
If trf < schwammstufen Then
Picture1.PaintPicture PICtrfSW(trf).Image, klickX - 0.5 * PICschwamm.Width * maÃ?stabx * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?staby * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H8800C6
Picture1.PaintPicture PICtrf(trf).Image, klickX - 0.5 * PICschwamm.Width * maÃ?stabx * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?staby * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H660046
Else
trf = schwammstufen
Picture1.PaintPicture PICtrfSW(trf).Image, myx + klickX - byklickX - 0.5 * PICschwamm.Width * maÃ?stabx * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?staby * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H8800C6
Picture1.PaintPicture PICtrf(trf).Image, myx + klickX - byklickX - 0.5 * PICschwamm.Width * maÃ?stabx * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), klickY - 0.5 * PICschwamm.Height * maÃ?staby * (Val(z1) - Val(z2) / (schwammstufen / 4) * trf), , , , , , , &H660046
End If
DoEvents
Next
End Sub')
P.S.: ENTFERNT DOCH BITTE MAL DIE DUMME DOPPELPOSTSPERRE!!!

-----
Bleib cool man(n)!
Und lass dich nicht durch Philipp's Gespamme aus der Ruhe bringen ...

Dieser Beitrag wurde am 07.09.2004 um 12:31 Uhr von schrottXXL verändert
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
001
07.09.2004, 19:01 Uhr
Ronald Wendt
Administrator
Schüsselkönig

Avatar von Ronald Wendt

Beiträge: 2493
Dabei seit:
15.04.2003, 19:28 Uhr
Hallo,


haben wir bereits getan..es ist nun eine intelligente Doppelsperre...


Ronald Wendt
-----
Klomanager für PC, Mac und Android gibts hier: Klomanager - Hochgewürgt

Retrofreaks gehen auf www.atari-ste.org
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
002
07.09.2004, 19:05 Uhr
schrottXXL
Gebranntes Kind
Parzellenbesitzer

Avatar von schrottXXL
Themenstarter
Beiträge: 1459
Dabei seit:
07.10.2003, 19:53 Uhr
Inwiefern denn intelligent? Lässt nur Admins und Mods zwei mal hintereinander posten, oder?
-----
Bleib cool man(n)!
Und lass dich nicht durch Philipp's Gespamme aus der Ruhe bringen ...

Dieser Beitrag wurde am 07.09.2004 um 19:07 Uhr von schrottXXL verändert
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
003
07.09.2004, 19:12 Uhr
Ronald Wendt
Administrator
Schüsselkönig

Avatar von Ronald Wendt

Beiträge: 2493
Dabei seit:
15.04.2003, 19:28 Uhr
Hallo,

insofern intelligent, als dämliche Benutzer davor geschützt werden, zuviel Unsinn hintereinander zu posten.


Ronald Wendt
-----
Klomanager für PC, Mac und Android gibts hier: Klomanager - Hochgewürgt

Retrofreaks gehen auf www.atari-ste.org
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
004
07.09.2004, 19:56 Uhr
schrottXXL
Gebranntes Kind
Parzellenbesitzer

Avatar von schrottXXL
Themenstarter
Beiträge: 1459
Dabei seit:
07.10.2003, 19:53 Uhr
Danke für das Kompliment!!!
-----
Bleib cool man(n)!
Und lass dich nicht durch Philipp's Gespamme aus der Ruhe bringen ...
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
005
07.09.2004, 21:51 Uhr
Matthias Hofmann
Administrator
Bürstenkaiser

Avatar von Matthias Hofmann

Beiträge: 4133
Dabei seit:
15.04.2003, 23:00 Uhr
Ich verstehe nicht, warum Du den neuen Thread aufmachen mu�test. Du hast ja auch hier nur Deinen alten editiert, das hättest Du auch im ursprünglichen Thread machen können!
-----
Matthias Hofmann | Klomanager Deluxe jetzt bei Gamesload kaufen
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
006
07.09.2004, 23:26 Uhr
schrottXXL
Gebranntes Kind
Parzellenbesitzer

Avatar von schrottXXL
Themenstarter
Beiträge: 1459
Dabei seit:
07.10.2003, 19:53 Uhr
Ja, ich hab ihn erst im alten Thread editiert und dann befürchtet, dass ihn keiner mehr liest (einen neuen Post konnte ich ja nicht mehr erstellen) und daraufhin habe ich ihn hier (mit inzwischen hinzugekommener Ergäntung) nochmal geposted ...
-----
Bleib cool man(n)!
Und lass dich nicht durch Philipp's Gespamme aus der Ruhe bringen ...
nach oben
Profil || Privatnachricht || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ ]  

Klomanager-Forum

powered by ThWboard
© by Paul Baecher & Felix Gonschorek