Ich bin zu doof - aber Bild bleibt nich da wo es sein soll!
Übersicht

![]() |
ReLeNtLeSSBetreff: Ich bin zu doof - aber Bild bleibt nich da wo es sein soll! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Repeat
Color 0,0,0 Rect 0,0,100,600 Color 255,255,255 Rect 100,0,800,600 If MouseDown(1)=True Then Color 255,0,255 DrawImage mouse,500,500 EndIf DrawImage mouse,MouseX(),MouseY() Flip Until KeyHit(1) Heyho, ich frage mich grade warum das bild (mouse) nur solange auf dem bildschirm bleibt, wie ich die taste drücke. es soll stehen bleiben. aber genua das tut es ja nich. warum? ich hab sämtliches probiert! |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du musst einen zustand machen den du beim drücken der taste auf 1 bzw. bei nochmal drücken auf 0 setzt.
und wenn dieser zustand gesetzt ist wird das bild gezeichnet. was du aktuell machst ist effektiv was du beschreibst: Das bild wird nur dann bei 500,500 gezeichnet wenn du die taste drückst, sonst nicht. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm... wie kriege ich einen solchen zustand hin?
Code: [AUSKLAPPEN] bilda=1 (...) bilda=drawimage mouse,500,500 ziemlich simpel, funzt auch nich, mekkert über ein Exepcting End of File...[/code] |
||
![]() |
Gameprogman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] zustand=0 (...) If mousehit(1) then zustand=1 if zustand=1 then drawimage ... (...) so ungefähr[/quote] |
||
www.bandradr.de ! Awesome ! |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
alles klar,
so: Code: [AUSKLAPPEN] Repeat Color 0,0,0 Rect 0,0,100,600 Color 255,255,255 Rect 100,0,800,600 If MouseDown(1)=True Then zustand=1 EndIf If zustand=1 Then Color 255,0,255 DrawImage mouse,500,500 EndIf DrawImage mouse,MouseX(),MouseY() Flip Until KeyHit(1) FUnktioniert es jetz, aber so: Code: [AUSKLAPPEN] Repeat Color 0,0,0 Rect 0,0,100,600 Color 255,255,255 Rect 100,0,800,600 If MouseDown(1)=True Then zustand=1 EndIf If zustand=1 Then Color 255,0,255 DrawImage mouse,MouseX(),MouseY() EndIf DrawImage mouse,MouseX(),MouseY() Flip Until KeyHit(1) Nicht, warum eigentlich? Is doch eingetnlich genau das gleiche? Ich möchte den Mauszeiger quasi "stempeln" |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
du könntest auch ne art schalter machen:
Code: [AUSKLAPPEN] zustand = 0 if keyhit(1) then zustand = zustand +1 if zustand >= 2 then zustand = 0 ;bild wieder ausblenden if zustand = 1 then drawimage blup,1,1 ;wenn zustand = 1 dan bild malen ~edit~ sry den letzten eintrag hab ich ned gesehen, du möchtest stempeln ? also so das des bild des du mit der maus steuerst dort gemalt bleibt ? Für sowas brauchste types mfg Dottakopf |
||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
types? scheise
die mag ich gar nich^^ inwiefern muss ich das den mit types machen? |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wart mal, nicht dass ich dir jetzt müll aufdreh, hab ich des richtig verstanden:
Du möchtest mit deinem mauszeiger, viele kleine rechtecke(die immer wieder gezeichnet werden) auf dem blidschirm malen. Also du klickst und dan erscheint ein neues bild ? Wenn ja, brauchste types... entweder von robside oder du guckt hier: https://www.blitzforum.de/foru...hp?t=25321 Wenn nein, dann erklär nochmal weil dan hab ichs ned verstanden ![]() mfg Dottakopf |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
so, ich hab mir mal die Mühe gemacht und n kleines beispiel geschireben:
Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() Type bild ;Den Type definieren Field x,y End Type Repeat If MouseHit(1)Then ;Wenn maustaste gedrückt wird b.bild=New bild ;neuen type erstellen b\x=MouseX() ;Die koordinaten im Type Feld speichern b\y=MouseY() EndIf For b.bild=Each bild ;In einer for- nexz Schleife werden alle types abgefragt Plot b\x,b\y ;Hier wird dann ein punkt gezeichnet Next Flip Cls Until KeyHit(1) Ich hoffe du kapierst es. Falls nicht kannst du ja nochma nachfragen mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich check das nich so wiiiirklich.... ich werde das mal kopieren und mal schauen, wie das ganze funzt...
also, jeder von euch kennt doch MS paint oder? wenn man da das rechteck tool aus wält, ist der mauszeiger ein farbiges dreieck, wie bei mir. nun kann man da so zeichnen. und genau das will ich auch haben, deswegen sagte ich "stempeln"^^ |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du kein eigenen Mauszeiger zeichnen willst, kannst du es auch in den FrontBuffer einzeichnen (nicht zu empfehlen!). Beispiel:
Code: [AUSKLAPPEN] Graphics 800,600,0,2
SetBuffer FrontBuffer() mz=8 While Not KeyHit(1) mx=MouseX() my=MouseY() mz=mz-MouseZSpeed() If mz<1 Then mz=1 If MouseDown(1) Then Color 255,255,255:Rect mx-mz,my-mz,2*mz,2*mz If MouseDown(2) Then Color 0,0,0:Rect mx-mz,my-mz,2*mz,2*mz Wend End Willst du auch andere Sachen zeichnen, die nicht nur gestempelt werden, so würde ich es mit ImageBuffer machen. Beispiel: Code: [AUSKLAPPEN] Graphics 800,600,0,2
SetBuffer BackBuffer() screen=CreateImage(800,600) mz=8 While Not KeyHit(1) mx=MouseX() my=MouseY() mz=mz-MouseZSpeed() If mz<1 Then mz=1 Color 255,255,255 Rect mx-mz,my-mz,2*mz,2*mz,0 If MouseDown(1) Then SetBuffer ImageBuffer(screen) Color 255,255,255 Rect mx-mz,my-mz,2*mz,2*mz,1 SetBuffer BackBuffer() End If If MouseDown(2) Then SetBuffer ImageBuffer(screen) Color 0,0,0 Rect mx-mz,my-mz,2*mz,2*mz,1 SetBuffer BackBuffer() End If DrawImage screen,0,0 Flip Cls Wend End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau dir das mal in bb an, und sag dann mal ob das das ist was du brauchst.
Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() HidePointer Global mx,my ;der stempel type Type stempel Field stempel_x Field stempel_y End Type ;-------------------------------- Repeat Cls maus_zeichnen() stempel_machen() Flip Until KeyHit(1) ;--------------------------------- Function maus_zeichnen() ;das ist ersatzweise für den maus courser mx = MouseX() my = MouseY() Rect mx, my , 10,10,1 End Function Function stempel_machen() If MouseHit(1) Then ;wenn linke maustaste, dann neuen stempel erstellen info.stempel = New stempel info\stempel_x = mx ;stempel bei mauscourser x erstellen info\stempel_y = my ;stempel bei mauscourser y erstellen End If For info.stempel = Each stempel ;so und jetzt ALLE stempel malen Rect info\stempel_x , info\stempel_y , 10,10,1 ;malt einen stempel Next End Function So wenn das das richtige sein sollte, musst du dich mit types auseinandersetzten. Glaub mir sie sind zwar als anfänger schwer zu verstehen, aber ich find die dinger einfach geil und du kannst damit alles machen ! Type tutorials findest du auf robsite.de (und bei suche einfach mal types) oder hier : (ist von mir *angeb*) https://www.blitzforum.de/foru...hp?t=25321 oder hier : (ist aber am kompliziertesten) http://www.blitzbase.de/tutorials/shadow_1.htm mfg Dottakopf |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group