Spriterörelse - variabler eller funktioner som parametrar

Diskussioner om Commodore 128

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher

Spriterörelse - variabler eller funktioner som parametrar

Inläggav Mozartkügel » 26 december 2018, 13:59

Hej, jag gjorde en sprite med två lager, multicolor sprite för mer färg och en hi-res sprite för konturer. Jag har en loop för att flytta på dem med joystick med JOY och MOVSPR, men dom hamnar förståss i osynk eftersom basic är så långsamt.

Kod: Markera allt
64 dir = joy(2) and 15
70 if(dir=0) then movspr 1,90 #0 :movspr 2,90 #0
72 if(dir=3) then movspr 1,90 #2 :movspr 2,90 #2
73 if(dir=7) then movspr 2,270 #2 :movspr 1,270 #2


Jag skulle vilja placera dem på samma x-kordinat i slutet av varje loop, men kan man ha variabler eller funktioner som parametrar i basic funktioner? Jag försökte nånting sånthär, men ingen av dehär tre fungerade:

Variabel som parameter funkar inte:
Kod: Markera allt
75 sp = peek(53248) :rem titta på sprite1.x och lägg det i variabeln sp
76 movespr 2,sp,213


Denhär gav type missmatch error (en stringvariabel passar inte heller):
Kod: Markera allt
75 sp$ = peek(53248)
76 movespr 2,sp$,213


Funktionen peek() som parameter funkar inte heller:
Kod: Markera allt
76 movespr 2,peek(53248),213


Tacksam för idéer eller hjälp.
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Spriterörelse - variabler eller funktioner som parametrar

Inläggav Mozartkügel » 26 december 2018, 15:27

Ah, det märks att man är ovan att programmera på commodore, jag försökte poka in sprite1.x i sprite2.x varje loop men det fungerade inte heller, det blev bara en massa flimmer då spriten tydligen hoppar fram och tillbaka:

Kod: Markera allt
poke 53250,peek(53248)


Men jag ska knåpa vidare.
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Spritelager - variabler eller funktioner som parametrar

Inläggav bjonte » 26 december 2018, 21:46

Jag har aldrig skrivit C128-BASIC-program så jag har inte så bra koll. Kanske måste det vara en heltalstyp som används.

Kod: Markera allt
X%=PEEK(53274):MOVSPR1,X%,100
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Spriterörelse - variabler eller funktioner som parametrar

Inläggav bjonte » 26 december 2018, 21:53

Nej, jag läser i Programmers Reference Guide att det ska gå att använda vanliga flyttalsvariabler.

Kod: Markera allt
I=1:MOVSPR 7,I;90
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Spriterörelse - variabler eller funktioner som parametrar

Inläggav Mozartkügel » 26 december 2018, 22:24

Tack igen, det funkade! Jag hade klantat och skrivit movespr istället för movspr, det var därför det inte fungerade :roll:
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland


Återgå till Commodore 128

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst

Banners

BOA Japon Mediapalatset Nostalgibutiken
Quartex Retro Overlays Retroplay Spel och sånt
Super Motaro Söders Serie & Skivhandel vintagegames.se RG 2016