2 Fragen = Keine Lösung in Sicht
Übersicht

![]() |
LeroyBetreff: 2 Fragen = Keine Lösung in Sicht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich habe zwei Fragen und bisher keine Lösung in Sicht... Undzwar würde ich gerne wie bei dem Spiel Falling Knuddels also nach dem Prinzip Gegenstände von oben herabfallen lassen... undzwar immer eine bestimmte maximale Anzahl von Gegenständen. Leider komme ich da wohl an Types nicht vorbei... ich habe es schon ausprobiert aber bin leider kläglich gescheitert... der ganze Sonntag Nachmittag für nix ![]() Also das währe meine erste Frage und meine zweite: Wie kann ich dann eine Imagescollide- Abfrage für alle runterkommenden Grafiken machen? Ich bedanke mich schonmal für alle Antworten. Mfg. Leroy |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man kann jeden Eintrag eines Types einzeln ansprechen mit:
ql:for ; ql:each in dieser Schleife machst du dann die imagescollide abfrage |
||
![]() |
Leroy |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh... versteh ich net... wenn ich zum Beispiel ne If-Abfrage machen will:
Wenn ein Typ auf meinen Paddle trifft dann lösch das Type und füge der Variable bla +1 hinzu? Wie würde so ne if dann ausehen? |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
hehe mein Spiel scheint ja richtig berühmt zu werden ![]() Hier war mein erster Ansatz. Das was du haben möchstest dürfte da mit irgendwo drinn stecken Code: [AUSKLAPPEN] Type knuddels
Field x Field y Field f End type Graphics 800,600,16,2 HidePointer() setbuffer backbuffer() AutoMidHandle 1 TFormFilter 0 Local knuddel[4] Restore knuddel_data knuddel[0] = BitzEdit_RestoreImage%() HandleImage knuddel[0],0,imageheight(knuddel[0]) MaskImage knuddel[0],255,0,255 ScaleImage knuddel[0],2,2 For X = 1 To 4 knuddel[x] = CopyImage(knuddel[x-1]) ScaleImage knuddel[x],1,0.75 Next seedrnd millisecs() ftimer = CreateTimer(60) Level=1 Repeat cls Rect MouseX()-50,500,100,5 Line 0,500+imageheight(knuddel[4]),800,500+imageheight(knuddel[4]) If Rand(0,100) <= Level knuddels.knuddels = New knuddels knuddels\x = Rand(0,800) knuddels\y = 0 EndIf For knuddels.knuddels = Each knuddels DrawImage knuddel[knuddels\f],knuddels\x,knuddels\y If Not knuddels\f knuddels\y=knuddels\y + 4 For col.knuddels = Each knuddels If col\f = 4 If ImagesCollide(knuddel[0],knuddels\x,knuddels\y,0,knuddel[4],col\x-13,col\y,0) And ImagesCollide(knuddel[0],knuddels\x,knuddels\y,0,knuddel[4],col\x+13,col\y,0) knuddels\f = 1 End if Next If knuddels\y => 600 knuddels\f = 1 If ImageRectCollide(knuddel[0],knuddels\x,knuddels\y,0,mousex()-50,500,100,5) Delete knuddels.knuddels:punkte=punkte+1: If punkte Mod 10 = 0 Then level=level + 1 Else If knuddels\f < 4 Then knuddels\f = knuddels\f + 1 If knuddels\f = 4 And knuddels\y < 500 + ImageHeight(knuddel[2]) Then end End if Next Text 0,0, "Punkte: " + Punkte Text 0,20, "Level: " + Level WaitTimer(ftimer) Flip Until KeyHit(1) Function BitzEdit_RestoreImage%(frame%=1) Read w%: Read h% image=CreateImage(w%,h%,frame%) SetBuffer ImageBuffer(image) LockBuffer ImageBuffer(image) For y=0 To h%-1 For x=0 To w% Read rgb% WritePixelFast x,y,rgb% Next Next UnlockBuffer ImageBuffer(image) SetBuffer BackBuffer() Return image End Function .knuddel_data Data 26 Data 22 Data $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF Data $FF00FF, $000000, $000102, $050001, $010101, $FF00FF, $060000, $010101 Data $000200, $010002, $000100, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF Data $FF00FF, $FF00FF, $000000, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF Data $FF00FF, $FF00FF, $000000, $020202, $283212, $2B340D, $23320D, $2A3211 Data $2C3013, $242E0F, $020300, $020101, $010201, $010100, $010201, $FF00FF Data $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $000000, $FF00FF, $FF00FF Data $FF00FF, $FF00FF, $FF00FF, $FF00FF, $000002, $2D3B12, $24320C, $2A310F Data $A8D83F, $AED943, $24350C, $ABD83C, $57C85C, $2A3110, $58C55D, $59C361 Data $54BF5C, $030104, $030300, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF Data $000000, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $060404 Data $272F0C, $ABDB40, $ABDB42, $ABD93E, $ACD93F, $ABDA3F, $ABDB44, $ACD344 Data $53C55C, $AAD93E, $ADD83F, $54C659, $000400, $030305, $FF00FF, $FF00FF Data $FF00FF, $FF00FF, $FF00FF, $000000, $FF00FF, $FF00FF, $FF00FF, $FF00FF Data $FF00FF, $FF00FF, $293912, $27310F, $293012, $A8DA40, $AAD93E, $AAD73F Data $AAD83D, $AFDE40, $A5DB3C, $AFD942, $A8DB40, $57C05C, $2B2E10, $273311 Data $010000, $030102, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $000000, $FF00FF Data $FF00FF, $FF00FF, $FF00FF, $020302, $27310D, $263210, $ABDA3F, $ACD93B Data $AAD63F, $ABDE3F, $B0E049, $A9D942, $A6D940, $B3DB42, $A9D840, $ACD53C Data $ADDF41, $A9DB3F, $59BF60, $243610, $010001, $000000, $FF00FF, $FF00FF Data $FF00FF, $000000, $FF00FF, $FF00FF, $FF00FF, $010204, $040103, $27360A Data $ACD942, $ADD942, $A7DC44, $B1DF41, $AED543, $AADC40, $A8D539, $ACD83F Data $A7DA3F, $ACDD43, $ACDA43, $A7D93C, $ACDA42, $B0DD40, $59BD5D, $58C75F Data $050502, $010004, $FF00FF, $FF00FF, $000000, $FF00FF, $FF00FF, $FF00FF Data $020401, $030304, $58C35E, $ABDC41, $AAD93F, $ACD73F, $A8DB41, $ADDB40 Data $A9DA41, $AEDD43, $A9D93C, $ACDB42, $A9D73C, $ACDA3E, $ABDD45, $AED73E Data $A9DC40, $ABDB40, $57C25C, $00A97D, $030403, $000000, $FF00FF, $000000 Data $FF00FF, $FF00FF, $FF00FF, $272E0F, $28330F, $282E0D, $AEDF45, $A9D740 Data $ACDA3E, $A8DA40, $AAD440, $ACD93B, $A9DB43, $A8D741, $ABDC3B, $A8D840 Data $ABDA3F, $AAD943, $A9DA3D, $ADD73F, $A8DD3F, $57C15D, $03A87C, $000200 Data $000000, $FF00FF, $000000, $FF00FF, $FF00FF, $2B320C, $273010, $AADD40 Data $A8DB3E, $AED93F, $A9DC3D, $ACD641, $ABD93D, $A8E03F, $29300D, $26320D Data $ADD93D, $252F0F, $2B310C, $A8DD40, $ACD63C, $A9D741, $56C65C, $5BBD5D Data $24300C, $000103, $010000, $030303, $FF00FF, $000000, $FF00FF, $FF00FF Data $292E0F, $AADF42, $ACD93E, $A8D63C, $A9D540, $ABDA43, $A7DC40, $AED63B Data $A8D840, $C0DF77, $29310D, $A8D63F, $C5E473, $223112, $A9D83C, $A8DC45 Data $ABD83D, $ACDA40, $55C05A, $59C25D, $00AC76, $030004, $000000, $000000 Data $000000, $FF00FF, $000300, $253010, $AFDA3C, $ABDD48, $B0DA43, $A7E03F Data $ABD83D, $A6D740, $AEDC3F, $ADDA3F, $26360C, $272E0A, $ACDB44, $23300B Data $28310B, $ADD841, $ADD83C, $A7DB3B, $AADA3F, $AAD741, $59C35C, $01A77E Data $00AB7C, $000000, $010101, $000000, $FF00FF, $030002, $2A310F, $58C35D Data $27310E, $AADA3B, $AFDA42, $A9D841, $ADD93D, $A8D93F, $A3D53F, $2B300E Data $253511, $A9D93C, $2B3010, $27310E, $A8D940, $AAD53C, $AAD943, $AADB41 Data $A7DE3D, $5BBF5D, $00AD79, $01A977, $000000, $030303, $000000, $FF00FF Data $FF00FF, $24340D, $242C0F, $ACE040, $ACD844, $A8D640, $ADDF41, $A9DB40 Data $AAD93C, $ADDB3D, $AADD3F, $AAD441, $ABDB3A, $ACDB40, $A6D941, $ADD93E Data $A8DD3C, $A6DA41, $ACD53E, $ABD33D, $54C35C, $00A77B, $04AB7E, $040404 Data $000000, $000000, $FF00FF, $050103, $273612, $AEDD3B, $ADDA49, $A9DA3B Data $ADDB3D, $AAD640, $AAD83F, $A9D841, $ABD941, $A9D73E, $ACDA3E, $AAD940 Data $A7D73E, $ADDA3E, $A6D93E, $ACD641, $ABD93D, $ABD941, $58C95E, $56C35E Data $030400, $000000, $000000, $FF00FF, $000000, $000000, $000200, $58C25D Data $ABD543, $A8DB3D, $ABD73E, $57C661, $AAD83E, $ABDB3D, $AAD63D, $AAD840 Data $29330C, $A6D741, $ADDA3F, $AADC40, $262F0D, $A9D93F, $ACD940, $ABDB41 Data $A7D63D, $AADA3E, $5AC15B, $00A67C, $040201, $000000, $010101, $000000 Data $000000, $010101, $5BC25B, $56C55D, $57C05D, $57C55C, $AADB40, $AEDA42 Data $AADA40, $ABD63F, $A6DA41, $ADD941, $28300B, $272E10, $26330F, $ADD93E Data $ACD83F, $A7DB3D, $AEDC44, $AED73F, $A9DE3E, $56C25E, $02A779, $01AA7E Data $000000, $000000, $000000, $060505, $000101, $000001, $05A97C, $000402 Data $292C0B, $ADD73E, $A6D93F, $ACDC40, $ABD941, $B2DD40, $A7DA3E, $A7D943 Data $AEDE3D, $A6D441, $ACDC40, $ABDA42, $AAD843, $58C15C, $ACDD3E, $58BE5E Data $5CC65F, $08B182, $00AA7A, $000000, $040404, $000000, $FF00FF, $020201 Data $030304, $000200, $000003, $56C75C, $57C45C, $ABDB43, $ADDC43, $A9D23C Data $AADD44, $B0DD3F, $AED941, $56C35C, $AFDE3F, $A8D941, $A8D93D, $B3DB3A Data $54C25B, $57C260, $5AC75E, $00A679, $02AC7C, $070303, $000000, $020202 Data $000000, $FF00FF, $FF00FF, $010200, $000001, $000100, $020204, $2A2F0F Data $59C55B, $59C25A, $23370D, $AED63F, $56C15E, $56C35E, $56C261, $5CC25E Data $27330D, $58C360, $53C55F, $293011, $02A779, $00A97E, $08B07B, $000106 Data $000000, $020202, $FF00FF, $000000, $FF00FF, $FF00FF, $FF00FF, $FF00FF Data $050200, $000100, $040406, $010002, $010103, $303713, $233111, $28320D Data $050201, $050303, $000508, $000000, $010101, $020302, $040201, $010101 Data $010300, $000000, $040404, $060504, $FF00FF, $FF00FF, $000000, $FF00FF Data $FF00FF, $FF00FF, $FF00FF, $FF00FF, $FF00FF, $020001, $020402, $010200 Data $FF00FF, $020402, $020000, $000102, $030407, $020000, $FF00FF, $030403 Data $000000, $FF00FF, $040204, $050304, $000402, $FF00FF, $FF00FF, $FF00FF Data $FF00FF, $000000 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
- Zuletzt bearbeitet von Smily am So, Jun 10, 2007 23:13, insgesamt einmal bearbeitet
![]() |
Leroy |
![]() Antworten mit Zitat ![]() |
---|---|---|
oj... lass mich raten um das zu verstehen brauch ich Abi oder? Xd ^^
Ne irgendwie fehlt mir trotz einiger Tuts einfach das Verständniss für Types... ka ^^ aufjedenfall danke, werde mich mal reinarbeiten...! |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm der code sieht nur kompliziert aus, weil ich unten in hexform das bild rangehangen habe. ^^ | ||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Arbeite mal die Tutorials auf Robsite durch, da werden glaube auch Types behandelt ![]() |
||
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. |
![]() |
DottakopfBetreff: Vielleicht hilft das |
![]() Antworten mit Zitat ![]() |
---|---|---|
1) type definieren...
Code: [AUSKLAPPEN] type objekt field objekt_x field objekt_y end type 2) Type erstellen In einer schleife die objekte(den typ) erstellen u. werte festlegen (Für "info." kanst du einsetzten was du willst) Code: [AUSKLAPPEN] info.objekt = new objekt info\objekt_x = Rnd(0,800) info\objekt_y = Rnd(0,600) 3) Type etwas "machen lassen" Jezt musst du sagen was mit allen (each) types passieren soll Code: [AUSKLAPPEN] for info.objekt = each objekt ; für jedes objekt info\objekt_y = info\objekt_y +1 ;bewegen oval info\objekt_x,info\objekt_y,5,5 ;objekt zeichnen next So und nun zu : Zitat: mh... versteh ich net... wenn ich zum Beispiel ne If-Abfrage machen will: Wenn ein Typ auf meinen Paddle trifft dann lösch das Type und füge der Variable bla +1 hinzu? Wie würde so ne if dann ausehen? Das muss auch mit in die "for / each " Schleife rein (punkt 3): Code: [AUSKLAPPEN] for info.objekte = each objekt if imagescollide(objekt,info\objekt_x,info\objekt_y,0,bla,x,y,0) delete info.objekt punkte = punkte +1 end if next Hoffentlich konnte ich dir weiterhelfen,denn wenn man types erstmal kann sind sie ne feine sache. Hier ist nochmal der OH link für types (sollte man auf jeden Fall mal durchgearbeitet haben) http://www.blitzbase.de/tutorials/shadow_1.htm mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
kriD |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man kann statt types auch für jedes field ein eigenes array machen, is vielleicht einfacher... ![]() |
||
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, des kommt aber immer darauf an, wie viele man machen soll. Außerdem sind sie einfacher "zu bedienen", weil du dir nicht für X zB die ID 3 merken musst.
MFG Lador |
||
![]() |
Leroy |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dottakopf:
Ich bedanke mich erstmal recht Herzlich für deine Hilfe. Ich denke das ich mit dieser Grundlage gut arbeiten kann und somit einen Faden zur Welt der Types bekomme ^^ Ich hoffe das es dich nicht stören würde, falls ich mich bei weiteren Frage nochmal melden würde? Mfg. Leroy /Edit: Leier ergibt sich schon ein Problem... habe mir das alles mal angeschaut und ihr habt recht: Es ist garnicht so schwer ![]() Nun will ich aber das er nicht ununterbrochen Types erstellt sondern sobald z.B. 20 Types sich auf dem Bildschirm befinden soll er aufhöhrne und erst weiter machen wenn es wieder wenig sind... wie setze ich das ganze um? Ich habe es Anhand des Beispieles mit vollgendem versucht, was aber nicht klappte: If info.objekt < 20 then ... endif Klappt aber wie ich mir dachte irgendwie nicht so ganz... ^^ Also bin ich wohl nochmal auf eure Hilfe angewiesen? |
||
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, wie wäre es, wenn du die Types durchlaufen lässt, und dann in der Zählschleife jedes Mal anzahl = anzahl + 1 machst? Dann machste eben "wenn anzahl >= 20 dann mache dies und das".
Hoffe das konnte dir helfen. MFG Lador |
||
![]() |
Leroy |
![]() Antworten mit Zitat ![]() |
---|---|---|
perfekt, das hat mir super geholfen! Danke ![]() Neu hier im Forum und schon so viele Tolle Hilfe! Danke nochmal @All! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group