Requested:
- Penny the Pumpkin Directors: https://www.lexaloffle.com/bbs/?tid=142093
Me intersted in:
- Vegetables https://www.lexaloffle.com/bbs/?pid=162681#p
| function _init() | |
| -- create collection for players | |
| players = {} | |
| -- p1 | |
| player1 = { | |
| x = 0, | |
| y = 2, | |
| clr = 12, | |
| health = 10 | |
| } |
| -- create a table to hold your objects | |
| coins ={} | |
| --now you can add things into here by hand, but you can also make a functionnsonyou can call that point | |
| function add_coin(xpos, ypos) | |
| -- now lets make a temporary local table to hold the coins atrributes, you want position mainly | |
| local coin = { | |
| x = xpos, | |
| y = ypos |
Requested:
Me intersted in:
| -- inside init have a collection called particles | |
| -- this is where we will store each an every particles, so we can iterate | |
| -- over them in the future (aka process them one by one) | |
| particles = {} | |
| -- adder function, you call this anytime you want to add a new particle | |
| -- to the system. This will help us centralise every modification as this | |
| -- function is the only thing that you will have to modifiy. | |
| function add_particle(_x, _y, _sx, _sy, _lifetime, _color, _type) | |
| -- create a local temporary particle where we create the data |
| -- For this I whipped up my good ol’ reliable approach of having the following functions: | |
| -- export the currently drawn map to the clipboard | |
| -- I used this in copied .p8 files to draw levels, | |
| -- run them and copy the given string into this main | |
| -- file's map collection | |
| function export_map() | |
| -- start with empty string | |
| local mapString = "" | |
| -- loop over the map tile by tile | |
| -- and append tile numbers by , after each other |
| -- function to add characters to the game | |
| -- at any point on the map | |
| function add_character(_x, _y) | |
| local p = { | |
| x = _x, | |
| y = _y, | |
| direction = 5, | |
| doReplaceOldTile = false, | |
| replaceTileId = 0 | |
| } |
| -- Or if you don't want to bother with drawing each pickup with every tile aviable to you, you can make them "objects". | |
| --For this, create an array, that will hold all our pickups: | |
| pickupCollection = {} | |
| -- and a function that you can call to add pickups. | |
| -- we include a _type so later you can differentiate them | |
| -- by checking the this. For ex: _type = 1 is a healing item, _type = 2 is a bomb etc... | |
| function add_pickup(_xPosition, _yPosition, _type) | |
| -- we create a local variable to hold the item |
| function replace() | |
| -- collection for the if is it this tile | |
| local tilesToCheck = {1,2,3,4,5,6} | |
| -- collection to replace tile | |
| local tilesToReplace = {10,20,30,40,50,60} | |
| local x,y = 0,0 | |
| for i=1,#tilesToCheck do | |
| if mget(x,y) == tilesToCheck[i] then |
| pico-8 cartridge // http://www.pico-8.com | |
| version 42 | |
| __lua__ | |
| -- selector library | |
| -- by achiegamedev | |
| -- the selector object you will be playing and | |
| -- calling around with. You can create a new | |
| -- one by calling selector:init({object}) | |
| -- where object has the same values as here |
| elseif state == "tools" then | |
| -- pressing left will only move you to first item | |
| if btnp(0) then toolbar.cursor = max(0, toolbar.cursor-1) end | |
| -- pressing right will only mvoe to the last item | |
| if btnp(1) then toolbar.cursor = min(12, toolbar.cursor+1) end | |
| -- if we are on tools I want to have a float-in menu | |
| -- that comes in from the bottom, showcasing the tools | |
| toolbar.y = lerp(toolbar.y, toolbar.yOnScreen, 0.2) | |
| -- go back to planning phase |