BlitzMaker
Übersicht

![]() |
TheMatrixBetreff: BlitzMaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leutz,
ich hab gerade eben endlich herausgefunden, wie man ganz einfach verschiedene Blitze zeichnen kann( Brauch das unbedingt für mein Spiel, weil die alte Funktion von mir nicht richtig funktionierte ![]() Vielleicht kann dieser Code auch der Allgemeinheit weiterhelfen. Am besten ihr spielt mal ein wenig mit den Parametern herum. Code: [AUSKLAPPEN] Graphics 640,480,16,2 setbuffer backbuffer() While Not KeyHit(1) Cls mx = MouseX() : my = MouseY() x# = 320 : y# = 240 : zx = mx : zy = my ; Refraktor ; w = 30 : s = 1 ; Eisblitz ; w = 20 : s = 10 ; Blitz w = 4 : s = 30 ; Blitz 2 ; w = 15 : s = 30 ; Blitz 3 ; w = 10 : s = 70 blitz(x#,y#,mx,my,w,s) Flip Wend End Function blitz(x1,y1,x2,y2,weite = 10, staerke = 20) If weite > 0 And staerke>0 winx = GraphicsWidth()-1 : winy = GraphicsHeight()-1 r = 255 : g = 255 : b = 255 ; <-- Farbe kann hier definiert werden x# = x1 : y# = y1 : difx = x2-x1 : dify = y2-y1 f = r*$10000 + g*$100 + b LockBuffer BackBuffer() While e=0 ow# = w# w# = ATan2(x2-x#,y2-y#) For b=1 To weite w# = w# + Rnd(staerke*-1,staerke) x# = x# + Sin(w#) : y# = y# +Cos(w#) If x#>=0 And x#<winx And y#>=0 And y#<winy Then WritePixelFast x#,y#,f newdifx = x2-x# : newdify = y2-y# If ((difx>=0 And newdifx<=0) Or (difx<=0 And newdifx>=0)) And ((dify>=0 And newdify<=0) Or (dify<=0 And newdify>=0)) Then e = 1 : Exit Next Wend UnlockBuffer BackBuffer() End If End Function mfg |
||
- Zuletzt bearbeitet von TheMatrix am Mi, Nov 08, 2006 0:54, insgesamt 3-mal bearbeitet
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Konnte deines noch nicht testen, weil ich gerade in der Uni bin. Aber das Thema kam mir bekannt vor: Guckst du hier ![]() |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hui, da bin ich wohl nicht der Einzigste den sowas beschäftigt ![]() Hatte auch schon solche Ansätze, wie du sie gemacht hast, aber es war halt immer das Problem, das Blitz an manchen Stellen nicht richtig dargestellt wurde, oder das halt der Blitz halt die FPS runterzieht. Beispiel bei dir: Wenn man den Blitz langzieht, dann wird der Blitz zu gerade dargestellt. Wird er gequetscht, dann ist zuviel gekrakel ![]() Diese Funktion, denke ich, ist schön smart, rechnet schnell und stellt den Blitz doch zielmich gut da ![]() Wenn man einen dicken Blitz darstellen will, dann kann man auch die Funktion blitz mehrmals mit verschiedenen Parametern aufrufen. Bin aber immer für Verbesserungsvorschläge offen ![]() (PS: Ich glaub ich habe diese Funktion bereits 5x auf Darkbasic programmiert und 3x in BB, weil mich irgendwie immer was gestört hat. Ich hoffe jetzt ist sie endlich ausgereift genung ![]() |
||
°_° °.° °~° °v° .. -.- |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
TheMatrix hat Folgendes geschrieben: Hab bis jetzt noch keine Bugs gefunden
aber ich. gibt direkt ne MAV beim starten ![]() l8er, psy |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wäre es mit
Code: [AUSKLAPPEN] setbuffer backbuffer()
vor der Schleife? Sonst sieht man rein gar nichts. Ansonsten ist es Ok ![]() |
||
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: aber ich. gibt direkt ne MAV beim starten Wink Oh weh... doch ein Bug? Nicht gut... aber gleich beim start? Seltsam ![]() Zitat: Wie wäre es mit Code: setbuffer backbuffer() vor der Schleife? Sonst sieht man rein gar nichts. Welche BB Version benutzt ihr? Also ich habs in BB+ geprogt und da zeigt der mir sofort ne Grafikausgabe ![]() ![]() |
||
°_° °.° °~° °v° .. -.- |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Oh weh... doch ein Bug? Nicht gut... aber gleich beim start? Seltsam Confused
Das liegt höchstwahrscheinlich daran, dass vorher kein Backbuffer() gesetzt war, und du im Backbuffer rumzeichnen willst... ![]() Zumindest hat er bei mir dauert Writepixelfast markiert. |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man mit der Maus über den unteren Bildrand kommt, gibts nen Fehler. Aber sonst ganz schön! | ||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
![]() |
D2006AdministratorBetreff: Re: BlitzMaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ...
winx = 640 : winy = 480 ; <-- Fenstergröße bitte angeben ... Siehe ql:Graphicswidth und ql:Graphicsheight |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
@D2006
Ich glaub, da war ich mal wieder zu faul selbst nachzugucken ![]() Aber Danke, habs gleich verbessert ![]() mfg |
||
°_° °.° °~° °v° .. -.- |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
also das von the matrix finde ich besser, als das im zweiten post | ||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir auch ein MAV wenn man an die Fensterkante kommt. Das liegt daran, dass er zum Beispiel an eine Position mit der y-Koordinate von 479.78 einen Pixel setzen muss und dann das 480. nimmt was schon außerhalb des Bildschirms liegt. Also: abrunden. ql:Floor | ||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt, ihr habt alle recht. Mein Fehler ![]() Habs jetzt noch mal verbessert und winx = GraphicsWidth()-1 gesetzt. Ich denke jetzt kann ich den Code als Bugfrei bekanntgeben ![]() mfg |
||
°_° °.° °~° °v° .. -.- |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jetzt hab ichs mir auch angeschaut. Und es gefällt mir sehr gut. Da es auf Punkten und nicht auf Linien basiert (wie bei mir), kommt am Ende imo ein schönerer Blitz heraus. ![]() |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Thx für dein Lob ![]() Nach 8 Versuchen(in 2 Jahren) musste es ja auch irgendwann mal klappen, dass die Funktion was hergibt. Schön das euch gefällt ![]() mfg |
||
°_° °.° °~° °v° .. -.- |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group