Sprite kollidiert nicht im Koala-Bild

  • Hallo, guten Tag.
    Ich habe einmal ein Spritecolli im Text und einmal ein Spritecolli im Koala-Bild.


    Im Text funktioniert es , aber im Koala-Bild gibt es keine Collision.
    Liegt es irgendwie an den Farben im Bild?


    Auszug aus beiden Programmen :
    80 poke vic, x and 255
    85 poke vic+16, x/256
    90 poke vic+1,y
    95 if peek(vic+31) = 1 then gosub 1015 : rem colli-reaktion


    Danke.
    Gruss

  • Kann gut sein.
    Der Multicolor-Modus hat nicht 1 Hintergrund- und 3 Vordergrundfarben, sondern 2 Hintergrund- und 2 Vordergrundfarben. Und Malprogrammen ist es in der Regel herzlich egal, was nun was ist, Hauptsache, es geht schnell und die Farben lassen sich alle unterbringen.


    An den Ecken der Linien solltest Du eine gute Chance haben, dass eine Kollision erkannt wird.


    Gibt bestimmt auch Tools, die die Farben auf bestimmte Weise verteilen oder nachträglich umformatieren.

  • Du hast recht an den Ecken colligiert es , aber nur an wenigen Pixel...Ich nehme Ganged.

    Dann nutzt Ganged als erstes die 2. Hintergrundfarbe, wenn Pixel einer neuen Farbe ins Bild müssen.

    Welche Farben soll man für das Bild nehmen und welche für das Sprite?

    So funktioniert das nicht...
    Die Farbe (Weiß/Rot/Gelb...) ist egal.
    Du hast es grad selber ausprobiert: An manchen Stellen im Bild kann die Farbe Weiß Hintergrund sein, Du bekommst keine Kollision.
    An anderen Stellen ist sie dann doch Vordergrund, und Du erkennst eine Kollision.
    Die Technik im Hintergrund ist eine andere, die nichts mit der eigentlichen Farbe zu tun hat.


    Im Hires-Modus ist ein Pixel 0 oder 1.
    0 ist Hintergrund, 1 ist Vordergrund und kann Kollision auslösen.


    Hinter den breiten, farbigen Pixeln im Multicolor-Modus stecken 00, 01, 10 und 11.
    00 und 01 sind Hintergrund, aber beim reinen Malen von Bildern interessiert sich der Maler nicht für Vorder- oder Hintergrund. Dieser sehr technische Aspekt bleibt meist verborgen.
    Diesen 4 Bitmustern können dann echte Farben zugeordnet werden.
    00 ist für das ganze Bild fest, Du hast da Dunkelblau gewählt.
    Die anderen 3 Bitmuster können pro 4*8 Pixel gewählt werden.


    Ganged hat an fast allen Stellen als erstes das Bitmuster der 2. Hintergrundfarbe verwendet. Da steckt kein besonderer Sinn oder Anforderung hinter, war einfach nur naheliegend.
    Nur an den Ecken kommt es mal vor, dass 3 Farben in ein Kästchen von 4*8 Pixeln müssen, und dort ist dann mal ein Vordergrund-Bitmuster verwendet worden.


    Deine Anforderung ist nun technischer, als es Maler normalerweise brauchen.
    Es gibt sicher auch Tools, die ein Bild auf bestimmte Bitmuster umrechnen, oder die Bitmuster in anderer Reihenfolge vergeben.
    Enthusi hat da schon ein Programm aufgetan, dass die Anforderung etwas technischer angeht.
    Bin leider lange nicht mehr im Thema drin, als dass ich mir jetzt ein passendes Tool aus dem Ärmel schütteln könnte.
    Am C64 hatte Vidcom64 auch diesen technischen Einschlag. Falls Dir 4 Farben fürs ganze Bild reichen, dann Doodle oder Color-X 04.

  • Welche Farben soll man für das Bild nehmen und welche für das Sprite?

    Wenn du auf Nummer Sicher gehen willst und keine Spezialsoftware nutzen, dann verwende einfach mindestens 3 Farben je 4x8-Block (in MC-Bitmap) für "Wände/Hindernisse". Irgendeine wird dann zur Kollision führen.