| |
|
|
| Hallöchen SetBackAutoCollision wäre sí una feine Sache, si yo dahintersteigen sería. Yo una Maske erstellt, welche el begehbaren Flächen schwarz beinhaltet. Nun Yo con cadena bereich#,0=RES/L1NEG.BMP backgroundneg&=LoadExtImage(bereich#)
CopyExtBmp(%HDC,50,50,800,500,background&,0,0,0) > background& hier sonst se sí el Maske adecuado <
esta doch en el Speicher. (Das Original se sí adecuado) si yo entonces SetBackAutoCollision (sprites&,backgroundneg&,1,0,0,GetBmpWidth(backgroundneg&),GetBmpHeight(backgroundneg&),0,0,0,0) nehme, se zwar como gewünscht a Mauern u.s.w angehalten - pero no siempre y korrekt - Figur se ejecuta trotz WEIS de el Spielbereich fuera. Was podría Yo falso hacer? Gracias en el Vorraus Rolf |
|
|
| |
|
|
|
| ¡Hola Rolf,
el kann Yo dir así no beantworten, dazu müßte Yo deinen Code testen. Kann ser, el el weißen Flächen no breit benug son ? El müßen natürlich algo breiter ser, como como el Figur bewegt. Z.B. el Figur bewegt se con Geschwindigkeit 6, entonces muß el weiße Abgrenzung mindestens 7 Pixel breit/hoch ser, ansonsten kann lo en Kollisionsprüfung passieren, el el Sprite por el Wand se ejecuta...
Wenn du me el código + Gráficos schickst, voluntad Yo gerne testen.
Schönes Restwochenende, Franco |
|
|
| |
|
|
|
| Yo versuchs veces más - Code evtl später. Aber Yo nun el Maske después de rechts y después de unten (also sólo el schwarze - es una größere Fläche y el weise auch groß genug!)movido y siehe como: Nun klappt lo fast einwandfrei. Komisch? Bedeutet vorher ha el Maske genau con el Original gedeckt y nun verschiebt el Maske después de rechts unten y lo klappt. Rolf |
|
|
| |
|
|
|
| Hi,
Yo hoffe sí, el deine Maskenbitmap el gleiche Größe besitzt, como dein Hintergrund, oder ? Ansonsten kann Yo solche Verschiebungen nämlich no erklären. Grade SetBackAutoCollision() Yo con großer Sorgfalt getestet... )
Saludo, Franco |
|
|
| |
|
|
|
| Hi Franco - Yo schwöre Sí el Maske entspricht haargenau el Original. El Maske Yo sí de el Original erstellt. Also alles Schwarz qué begehbar ser se y alles weis, qué no. Habs con bmp, gif y jpg getestet y nun incluso una más Bild erstellt - genau dasselbe. Lo kommt me antes, como si la Maske en el Speicher irgendwie movido es - porque si yo laufe, entonces z.B. una Baum a uno otro Punto. Rolf |
|
|
| |
|
|
|
| Ok tener todavía mehr rausgefunden: Lo klappt pixelgenau con CopyExtBmp(%HDC,0,0,%maxx,%maxy,background&,0,0,0) - also si yo el ganzen Bildschirm kopiere con CopyExtBmp(%HDC,0,800,500,background&,0,0,0) - hay bekomme Yo esta Verschiebeffekt. Aber así - genial - habe una Baum por Weis genau gefüllt y el Figur hält wirklich a el Pixeln a - STARK así haste wirklich viel viel Arbeit a Coden erspart. Rolf |
|
|
| |
|
|
|
| Hi !
Como breit es porque el Maskenbitmap? Wirklich 800x500? Poste veces Por favor,, como du el Bilder lädst o HDCs generierst.
Beim Kopieren es al sichersten siempre:
CopyExtBmp(%HDC,0,0,GetBmpWidth(background&),GetBmpHeight(background&),background&,0,0,0) CopyExtBmp(%HDC2,0,0,GetBmpWidth(background&),GetBmpHeight(background&),background&,0,0,0)
Am besten schickst du me de tiempo dein Werk y yo werds vertraulich testen...
Saludo, Franco |
|
|
| |
|
|
|
| He, tener gerade todavía qué entdeckt. Como nadie Parámetro !!!
CopyExtBmp(%HDC,0,800,500,background&,0,0,0)
-> muß aber heißen...
CopyExtBmp(%HDC,0,0,800,500,background&,0,0,0)
Wars el ?
Saludo, Franco |
|
|
| |
|
|
|
| Nee Sorry, el war simplemente sólo una Kopierfehler hier innerhalb dieses Forums (beim Puesto) - habs simplemente falso geändert. Aber como dijo con %maxx y %Maxy klappts einwandfrei. Rolf |
|
|
| |
|
|
|
| ¡Hola Franco y Rolf,
con el SetBackAutoCollision() Yo auch ya una bisschen Problemas gehabt. Wenn el Maske y Hintergrund getrennte Bitmaps son y jeweils extra geladen voluntad klappt lo. KOpiere Yo el beiden (y el sprites ) en un Mapa de bits y lade entonces sólo el bereiche klappt no y el figur verläuft se. Sobald el MAske una propio Mapa de bits es (Kopie des Hintergrunds con farbflecken) klappt lo.
Gerold |
|
|
| |
|
|
|
| Hi,
selbstverständlich muß el Maskenbitmap una einzelne Mapa de bits ser, voluntad todavía otro Daten en él aufbewahrt, entonces ändert se natürlich auch el Größe y Longitud el Mapa de bits, y SetBackAutoCollision() rechnet con verkehrten Werten. Außerdem se para una Maskenbitmap sólo una 2-Farben-Bild benötigt, alles otro es Speicherverschwendung.
Darum es en jedenfall vorteilhafter una Stück Quellcode para enviar, hay es una Fehler siempre mejor para encontrar como en uno Fehlerbeschreibung.
Yo weiß, manche Características son para Einsteiger no simplemente a handhaben, aber cada se se denken puede, el Características como SetBackAutoCollision() höchst komplex trabajo y esta trotzdem sólo una Función benötigen...
Nächtliche Grüße, Franco |
|
|
| |
|
|