Pfeil und Bluttropfen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Black Rabite

Betreff: Pfeil und Bluttropfen

BeitragDo, Feb 03, 2005 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
So hi...
erstmal im new hier...was man wohl auch gleich an der Frage sehn wird. =)
Also, ich habe ein eigenen Mauszeiger erstellt(Sprich Bild das immer an x,y Maus ist) und nun will ich, dass von diesem Bild Bluttropfen runterfallen...wie geht das am besten?

Danke schonmal im vorraus! Very Happy
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------
 

Blitzkrieg Bop

BeitragDo, Feb 03, 2005 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Erstmal Willkommen! Wink
Naja, die Tropfen kannst du mit Types ganz gut machen, einfach nach einiger Zeit einen neuen erstellen, oder wenn der alte bereits vom Bildschirm weg ist oder so. Smile
~ Hey Ho Let's Go ~

Black Rabite

BeitragDo, Feb 03, 2005 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, aber....
mhhhh sorry fals das jetzt nerven sollte...aber types kenne ich noch garnicht.
ich zeige einfach mal mein bisherigen code

Code: [AUSKLAPPEN]

Global Grafik
Graphics 640, 480, 16, 2

Mauszeiger = LoadImage("zeiger.PNG")
Bluttropfen = LoadImage("BLDDP.png")
MaskImage Mauszeiger, 0 ,255 ,0
MaskImage Bluttropfen, 0 ,255 ,0




SetBuffer BackBuffer()

Repeat
Cls
DrawImage Mauszeiger, MouseX(), MouseY()
DrawImage Bluttropfen, MouseX(), MouseY()
Flip
Until KeyHit(1)



So

1.)Warum ist bei meinem Tropfen grüner hintergrund obwohl da ne mask ist?bin ich behindert oder woran liegt es Question

2.)Wo soll ich am besten jetzt welchen befehl benutzen?...momentan klebt der Tropfen auch noch an der Maus
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------
 

Blitzkrieg Bop

BeitragDo, Feb 03, 2005 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Ne, das nervt nicht, keine Sorge Very Happy
Also, zu
1.) Müsste eigentlich gehen, du musst halt nur sicher gehen, das dein Tropfen den richtigen RGB Wert(0,255,0) besitzt, dann wird auch maskiert. Überprüf das am besten nochmal.

2.) Naja, Types sind ein wenig komplexer. Am besten auf www.blitzbase.de das mit den Types konzentriert durchlesen. Bringt ja nichts, wenn ich dir nun Code gebe Very Happy
~ Hey Ho Let's Go ~

Black Rabite

BeitragDo, Feb 03, 2005 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt haste recht danke für den Typ...aber das mit der Mask geht immernoch nicht

Ich habe mit Paint Shop geguckt und es ist genau 0,255,0
seltsam

trotzdem danke Very Happy
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------
 

Blitzkrieg Bop

BeitragDo, Feb 03, 2005 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, kein Problem. Aber ansonsten lade doch mal alles hoch, also den Source + die Bilder. Dann kann ich dir das richten. Smile
~ Hey Ho Let's Go ~

Jan_

Ehemaliger Admin

BeitragDo, Feb 03, 2005 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Für sowas würde ich ne Partikel engine Empfehlen,

kleines Beispiel:
Code: [AUSKLAPPEN]

Graphics 320,240,32,2
SetBuffer BackBuffer()

Global GH = GraphicsHeight()
Global Blutmenge = 15
Global MMXS#,MMYS#

SeedRnd MilliSecs()

Type Blood
   Field X#,Y#,SX#,SY#
End Type

Repeat
   Cls
   
   Local i%
   
   MMXS#=MouseXSpeed()
   MMYS#=MouseYSpeed()
   
   For i = 1 To Blutmenge
      Blood.Blood = New Blood
      Blood\X=MouseX()
      Blood\Y=MouseY()
      Blood\SX=RND(-2,2)+MMXS#/2.0
      Blood\SY=MMYS#
   Next
   
   For Blood.Blood = Each Blood
      Blood\SX# = Blood\SX#*0.99
      Blood\SY# = Blood\SY#+Rnd(0,0.2)
      Blood\X# = Blood\X#+Blood\SX#
      Blood\Y# = Blood\Y#+Blood\SY#
      
      WritePixel Blood\X,Blood\Y,16711680
      
      If Blood\Y# > GH
         If Abs(Blood\SY#) > 1 Then
            Blood\SY# = - Blood\SY#/2.0
         else
            Delete Blood.Blood
         endif
      endif
      
      
   Next
   

   Flip 0
Until KeyHit(1)


between angels and insects
  • Zuletzt bearbeitet von Jan_ am Do, Feb 03, 2005 16:34, insgesamt einmal bearbeitet
 

Blitzkrieg Bop

BeitragDo, Feb 03, 2005 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Jan!
Vielleicht lässt du ihm die Chance, das selbst rauszufinden, er lernt doch jetzt Types! Very Happy
~ Hey Ho Let's Go ~

Jan_

Ehemaliger Admin

BeitragDo, Feb 03, 2005 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
@Bop, na, wenn er mit Types nciht umgehen kann, dann sollte man ihm doch mal die Möglichkeiten Zeigen.
between angels and insects
 

Blitzkrieg Bop

BeitragDo, Feb 03, 2005 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, bleibt zu hoffen das er auch draus lernt Smile
~ Hey Ho Let's Go ~

Black Rabite

BeitragDo, Feb 03, 2005 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok ich habe es mir durchgelesen und auch probiert...aber irgendwie kommt da ein fehler und ganz verstanden habe ich es auch net so Embarassed

Und wie ich grade merke erlaubt mein FREEwebspace keinen zugriff auf die daten so....mist.
Es sei nicht erlaubt von externen quellen aufzurufen....

Das mit dem Grafik problem besteht nur wenn ich im Fenstermodus bin fällt mir auf.

EDIT:

Ohhh...schreibe hier stunden und nun sowas....dankeschön...partikel sind immer gut
nja werde ich mal testen...und trotzdem noch 10000mal type reinziehen bis es klappt
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------

BladeRunner

Moderator

BeitragDo, Feb 03, 2005 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es nur im Fenstermodus Probleme gibt, dann liegt es daran dass unter 16-Bit Graphics ander Farbwerte verwandt werden als unter 32 bit.

Die Forensuche sollte Lösungen dazu bieten.

(Tipp: Lass dir von deinem BB-Prog einfach mal per readpixel die Farbwerte eines Pixels in Maskierfarbe geben (im Fenstermodus), dann verstehst du was ich meine.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Black Rabite

BeitragDo, Feb 03, 2005 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
@jan_

was speichern die MMXS# und MMYS# variablen?

@ Blade Runner...nja das andere Bild wird korrekt dagestellt...kann es daran liegen das vielleicht mein bild für den BLuttropfen zu klein ist?

Edit:
Sorry hat sich erledigt denke mal es ist die mausgeschwindigkeit...
Embarassed
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------
 

Blitzkrieg Bop

BeitragDo, Feb 03, 2005 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ehm, lad dir die deutsche Onlinehilfe auf www.blitzbase.de Smile
~ Hey Ho Let's Go ~

Black Rabite

BeitragDo, Feb 03, 2005 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ja habe ich schon...ist auch alles gut so bloss genau dieses type macht mich krank...als den sinn kapiere ich ja aber nja egal...wird schon...danke trotzdem
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------

BladeRunner

Moderator

BeitragDo, Feb 03, 2005 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Types sind sowas wie abziehbilder.
Zuerst erstellst du mit
Code: [AUSKLAPPEN]
Type Name
Field var1,var2,...
endtype

eine "Schablone", welche du dann später mit "new" benutzen kannst um reele Objekte davon zu erzeugen.

Auf deine Blutstropfen bezogen:
Code: [AUSKLAPPEN]
Type tropfen
field x,y,speed
end type

ist hier die Schablone.
immer wenn du einen tropfen erstellst hat er diese drei Variablen in sich.
Also ZB.:


Code: [AUSKLAPPEN]
t.tropfen=new tropfen
t\x=mousex()
t\y=mousey()
t\speed=rand(1,4) ;fallgeschwindigkeit

Nun noch dort wo du die tropfen einzeichnest eine Schleife die alle durchläuft:

Code: [AUSKLAPPEN]
for t.tropfen=each tropfen
t\y=t\y+t\speed ;Der tropfen fällt um speed pixel nach unten.
drawimage tropfenbild,t\x,t\y ;einzeichnen
if t\y >= screenheight() then delete t ; wenn er aus dem Bild ist wird er gelöscht

next


Was ich dir jetzt an Arbeit gelassen habe ist dir auszudenken wie du es machst dass pro Sekunde nur ein Paar tropfen erzeugt werden. Tipp: Millisecs() benutzen. Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Waveblue

BeitragDo, Feb 03, 2005 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
soll ich dir man Beispielcode geben?
hab eine sehr frühe Version eines (Bubble)Shooters da!
der is übelst kurz, vieleicht verstehstes dann!
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

Black Rabite

BeitragDo, Feb 03, 2005 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Aslo....

@BladeRunner
danke für die Mühe...jetzt ist es schon etwas klarer geworden!
mal sehn ob ich es schaffe pro sekunde das zu machen....auf jedenfall danke danke

@Waveblue
Ja kla gerne,ist kein problem,mich interresieren alle codes! Very Happy

Edit:So also ich glaube ich kapier das jetzt....habe es auch geschaft das mit den Tropfen zu bauen...das mache ich jetzt noch 2-3 mal ohne zu "spicken" und schon müsste ich es können...man man ist das einfach...nja das nächste prob ist das mit den Abständen...wartet mal ich mache mal kurz ein neuen thread auf Razz ....nein das packe ich auch.
@waveblue kannst du mir dann trotzdem den code schicken.
----Besser umdrehen und rückwärtslaufen als umdrehen und forwärts laufen-------

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group