type löscht falschen frame aus tile set
Übersicht

![]() |
DottakopfBetreff: type löscht falschen frame aus tile set |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hio blitzer !
Ich hab n kleines minigame gemacht, bei dem man mit seinen "block" anderen hindernissen ausweichen muss. Der spieler und die hindernisse sind alle in einer bitmap drinne, das sind gesammt 7 bilder. Wenn jetzt der spieler ein weißes kästchen berührt(frame = 0), soll dieses gelöscht werden. Bei allen anderen bildern(frame 1-5 hindernisse, frame 6 = player) Soll das spiel vorbei sein. Die überprüfung sind dan so aus: Code: [AUSKLAPPEN] If ImagesCollide(block_set,MouseX(),MouseY(),6, block_set, info\bx,info\by,0) Then Delete info.box aber statt mir nur den frame 0 (des weise kästchen) zu löschen, löscht er alle types mit denen ich kollidiere. Hab au scho andere frame werte probiert hat aber nicht funktioniert. mfg Dottakopf |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum packst du Tiles in ein Type? Sowas sollte man in ein 2D/3D-Dim packen und nicht zu zeichnende Tiles als 0 oder -1 deklarieren. Mit Dims kannst du auch ganz einfach nur den Bereich nach Kollision überprüfen, der überhaupt relevant sein könnte. Mit Type ginge es nur mithilfe von Object und Handle.
Denoch, so wie du es machst, solltest du eine weiteres Field in deinem Type benutzen, der angibt, welches Tile an Position angezeigt werden soll. Dann kannst du auch überprüfen, ob dein richtiges Tile mit gewünschtem kollidiert. So hast du hardcodet Kollision auf nicht hardcodet Tilesset, was zwangsweise zu Problemem führt. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm sry dumm von mir erklärt ...
Ich hab in dem sinne kein tileset bzw irgendeine größere tile energie wie bei meinem RPG. Ich bin bei nem kumpel gewesen und hab versucht, ein minigame zu proggen, bei dem man einfach nur quadraten ausweichen muss, und ein spezielles weises quadrat einsammeln muss. Ich wollte das ganze in einem typ machen, mit zwei hätt ichs schon gelöst, aber das ist einfach zu billig. Code: [AUSKLAPPEN] Type box Field bx Field by Field b_richtung Field b_speed# Field b_punkte Field b_frame ;da wird alles abgespeichert (der spieler, die hindernisse, das weise kästchen) End Type Warum kann ich nicht kann ich nicht überprüfen wenn "bild_frame(spieler) mit bild_frame(weises kästchen) kollidiert, dann löschen ??" Code: [AUSKLAPPEN] If ImagesCollide(block_set, MouseX(),MouseY(),7 , block_set, info\bx,info\by,0 ) du sagst noch ein field auf machen ok: aber den teil hab ich ned so ganz verstanden Zitat: solltest du eine weiteres Field in deinem Type benutzen, der angibt, welches Tile an Position angezeigt werden mfg Dottakopf |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du testet ja auch immer zu Frame 0 , zeigst aber was anderes auf dem Bildschirm !?
Erweitere mal deine Struktur um CollideFrame Code: [AUSKLAPPEN] if info\CollideFrame=0 then If ImagesCollide(block_set,MouseX(),MouseY(),6, block_set, info\bx,info\by,[b]info\CollideFrame[/b]) Then Delete info.box endif |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
outch ^^
das ist mir ezt peinlich ^^ ![]() danke, funtzt einwandfei. mfg Dottakopf |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group