Skip to content

Instantly share code, notes, and snippets.

@kdrnic
Created September 10, 2017 08:33
Show Gist options
  • Select an option

  • Save kdrnic/3815d099dcd7f0d093bbfaf59c4aa621 to your computer and use it in GitHub Desktop.

Select an option

Save kdrnic/3815d099dcd7f0d093bbfaf59c4aa621 to your computer and use it in GitHub Desktop.
var spriteFile = "sprites\\link.pcx";
var spriteW = 16;
var spriteH = 24;
var spriteBmp = LoadBitmap(spriteFile);
var spritePalette = LoadPalette(spriteFile);
SetPalette(spritePalette);
var spriteSheet = CreateSpriteSheet(spriteBmp, spriteW, spriteH);
var bgColour = 7;
Cout(JSON.stringify(spriteSheet));
var spriteX = (screen.w - spriteW) * 0.5;
var spriteY = (screen.h - spriteH) * 0.5;
var spriteFrame = 0;
var spriteTime = 0.0;
var spriteDirAdd = 0;
var spriteFrameSpeed = 1 / 4;
var spriteSpeed = 1.25;
function Loop()
{
var movement = Math.max(Math.abs(dpad[0].x), Math.abs(dpad[0].y));
spriteTime += movement * spriteFrameSpeed;
spriteFrame = ((spriteTime % 8) | 0) + spriteDirAdd;
if(movement > 0.05) spriteDirAdd = (Math.abs(dpad[0].y) > Math.abs(dpad[0].x)) ? ((dpad[0].y > 0) ? 24 : 16) : ((dpad[0].x > 0) ? 8 : 0);
else spriteTime = 0;
spriteX += dpad[0].x * spriteSpeed;
spriteY += dpad[0].y * spriteSpeed;
ClearToColor(screen, bgColour);
DrawSprite(screen, spriteSheet, spriteX, spriteY, spriteFrame);
if(Key(KEY_ESC)) Quit();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment