ein noob hat ein Problem...
Übersicht

SibitigerBetreff: ein noob hat ein Problem... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe ein Problem bei meinem ersten Spiel mit Grafik:
Ich weiß nicht wie ich die Kreise (s.code)länger darstellen kann ohne dass, die Maus-Steuerung verzögert wird und: ich weiß nicht warum nach der Pause im Vollbildmodus die Maus da ist, wo man sie hinbewegt aber im Fenstermodus ist das nicht so ![]() und: ich weiß noch nicht wie man wenn ein Kreis getroffen wird verschwinden lassen kann. Ich weiß das man das alles besser und vielleicht kürzer schreiben könnte aber... ich bin noob... Das Spiel soll eigentlich so werden: Du sollst mit dem Visier auf Kreise schießen,jede sekunde kommt ein neuer, der für immer oder für 2 sek. da bleibt (das soll wählbar sein) und wenn man mit der l. Maustaste auf ihn drückt soll er wieder verschwinden. Ich hoffe ihr könnt mir helfen und Danke im Voraus Sibitiger Code: [AUSKLAPPEN] ;-----------------------------------Voreinstellungen
AppTitle "erstes Grafik Spiel" Graphics 640,480,16,1 HidePointer SetBuffer BackBuffer() Global wartezeit =1000 Global altesmillisecs = MilliSecs() MoveMouse 320,240 ;-----------------------------------Hauptschleife Repeat Cls Kreise() Visier() Pause() Flip Until KeyHit(1) End ;-----------------------------------Functions Function Kreise() If AltesMillisecs + WarteZeit <= MilliSecs() x=Rnd(0,640) y=Rnd(0,480) Oval x,y,10,10,1 AltesMillisecs = MilliSecs() EndIf End Function Function Visier() L11=MouseX()-5 L12=MouseY()-1 L21=MouseX()-1 L22=MouseY()-5 L31=MouseX()+3 L32=MouseY()-1 L41=MouseX()-1 L42=MouseY()+3 LM1=MouseX()-2 LM2=MouseY()-2 Color 255,0,0 Rect LM1,LM2,3,3,1 Color 255,255,0 Plot L11,L12 Plot L21,L22 Plot L31,L32 Plot L41,L42 Line L11,L12,L21,L22 Line L21,L22,L31,L32 Line L31,L32,L41,L42 Line L41,L42,L11,L12 Color 255,255,255 Oval MouseX()-10,MouseY()-10,20,20,0 End Function Function Pause() If KeyHit(25) Then a=MouseX() b=MouseY() SetBuffer FrontBuffer() Text 310,230, "pause" Repeat If KeyHit(1) End Until KeyHit(25) SetBuffer BackBuffer() MoveMouse a,b EndIf End Function |
||
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] If ImageRectsOverlap (image,posx,posy,mausx,mausy,1,1) Then ;kreis löschen EndIf könntest das auch ohne Bilder machen, einfach mal die Forumsuche benutzen ![]() |
||
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wil ja kein unmensch sein und hab dir grade mal dein Game gemacht =)
Code: [AUSKLAPPEN] Type KE Field I Field X Field Y End Type Global GraX,GraY,GraB,GraM GraX = 1024 GraY = 768 GraB = 16 GraM = 2 Graphics GraX,GraY,GraB,GraM Global MX,MY Global Timer Dim MHit(3) Global visi = CreateImage(32,32) SetBuffer ImageBuffer(visi) Oval 0,0,32,32,0 Color 255,255,128 Line 10,16,16,10 Line 16,10,22,16 Line 22,16,16,22 Line 10,16,16,22 Color 255,128,128 Line 16,11,16,21 Line 11,16,21,16 Global geg = CreateImage(32,32) SetBuffer ImageBuffer(geg) Color 0,128,255 Oval 0,0,32,32 HidePointer() SeedRnd MilliSecs() SetBuffer BackBuffer() While Not KeyHit(1) MX = MouseX() MY = MouseY() MHit(1) = MouseHit(1) If Timer + 500 < MilliSecs() ADK() Timer = MilliSecs() End If UPK() DrawImage visi,MX-16,MY-16 Flip Cls Wend End Function ADK() GE.KE = New KE GE\I = CopyImage(geg) GE\X = Rand(40,GraX-40) GE\Y = Rand(40,GraY-40) End Function Function UPK() For GE.KE = Each KE DrawImage GE\I,GE\X,GE\Y If ImagesCollide (GE\I,GE\X,GE\Y,0,visi,MX-16,MY-16,0) And MHit(1) Then FreeImage GE\I Delete GE End If Next End Function |
||
![]() |
BlitzerBetreff: Etwas genauer! |
![]() Antworten mit Zitat ![]() |
---|---|---|
So ist es etwas genauer!
Code: [AUSKLAPPEN] Type KE
Field I Field X Field Y End Type Global GraX,GraY,GraB,GraM GraX = 1024 GraY = 768 GraB = 16 GraM = 2 Graphics GraX,GraY,GraB,GraM Global MX,MY Global Timer Dim MHit(3) Global visi = CreateImage(32,32) SetBuffer ImageBuffer(visi) Oval 0,0,32,32,0 Color 255,255,128 Line 10,16,16,10 Line 16,10,22,16 Line 22,16,16,22 Line 10,16,16,22 Color 255,128,128 Line 16,11,16,21 Line 11,16,21,16 Global geg = CreateImage(32,32) SetBuffer ImageBuffer(geg) Color 0,128,255 Oval 0,0,32,32 HidePointer() SeedRnd MilliSecs() SetBuffer BackBuffer() While Not KeyHit(1) MX = MouseX() MY = MouseY() MHit(1) = MouseHit(1) If Timer + 500 < MilliSecs() ADK() Timer = MilliSecs() End If UPK() DrawImage visi,MX-16,MY-16 Flip Cls Wend End Function ADK() GE.KE = New KE GE\I = CopyImage(geg) GE\X = Rand(40,GraX-40) GE\Y = Rand(40,GraY-40) End Function Function UPK() For GE.KE = Each KE DrawImage GE\I,GE\X,GE\Y If ImageRectCollide (GE\I,GE\X,GE\Y,0,MX,MY,1,1) And MHit(1) Then FreeImage GE\I Delete GE End If Next End Function ![]() ![]() ![]() |
||
Nichts ist mehr so wie es einmal war mit
------------------Blitzbasic------------------ Athlon 3000+, 1 GBRam DDR, Geforce FX 5500, 120 GB Fesplatte Sempron 2200+, 512 MBRam DDR, Geforce FX 5200, 60 GB Festplatte |
Jaramia |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hey! endlich mal ein passender threa-titel! ![]() |
||
alu.art-FX.org |
SibitigerBetreff: Danke,danke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich werd mir ein Beispiel nehmen:)...
nur ich bin leider noch nihct so weit ![]() aber ich denke und hoffe,dass ich noch besser werde Sibitiger |
||
![]() |
Cerbus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na, siehste wird doch schon. ![]() Wenn du ICQ hast, kannst dich ja mal bei mir melden, fange auch mit proggen an. Könnten uns ja dann gegenseitig bisschen unterstützen. ![]() |
||
SibitigerBetreff: Ich hab das jetzt auch gemacht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab das jetzt auch gemacht ![]() Sibitiger Code: [AUSKLAPPEN] ;------------------------------Types Type kr Field kreis Field x Field y End Type ;------------------------------Voreinstellungen AppTitle "Visier" Graphics 640,480,16,2 HidePointer ;--------------Globals/Locates/Dims/Banks Global Ge.kr Global Geg Global timer Global visi Global PosX,PosY Dim Mhit(3) ;---zuweisen timer=MilliSecs() visi=CreateImage(32,32) Geg=CreateImage(25,25) ;--------------Laden/Erstellen ;---Visier SetBuffer ImageBuffer(visi) Oval 0,0,32,32,0 Color 255,255,0 Line 16,10,10,16 Line 16,10,22,16 Line 22,16,16,22 Line 10,16,16,22 Color 255,0,0 Line 16,11,16,15 Line 11,16,15,16 Line 21,16,17,16 Line 16,21,16,17 ;---Kreise SetBuffer ImageBuffer(Geg) Color 0,200,255 Oval 0,0,25,25,1 SetBuffer BackBuffer() ;------------------------------Hauptschleife Repeat Mhit(1)=MouseHit(1) SpeedX=MouseXSpeed() SpeedY=MouseYSpeed() PosX=PosX+SpeedX PosY=PosY+SpeedY MoveMouse 320,240 ;---Kreise If timer+1000<MilliSecs() Kreise() timer=MilliSecs() EndIf Kreisem() ;---Visier If PosX>640 PosX=640 If PosX<0 PosX=0 If PosY>480 PosY=480 If PosY<0 PosY=0 DrawImage visi,PosX-16,PosY-16;MX,MY Flip Cls Until KeyHit(1) DeleteFile ("Visier.bb_bak1") DeleteFile ("Visier.bb_bak2") End ;------------------------------Functions Function Kreise() Ge.kr=New kr Ge\kreis=CopyImage (Geg) Ge\x=Rnd(630) Ge\y=Rnd(470) End Function Function Kreisem() For Ge.kr=Each kr DrawImage Ge\kreis,Ge\x,Ge\y If ImageRectCollide (GE\kreis,GE\X,GE\Y,0,PosX,PosY,1,1) And MHit(1) Then ;MX+16,MY+16,1,1) And MHit(1) Then FreeImage Ge\kreis Delete ge EndIf Next End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group