mirror of
https://gitlab.com/MaddoScientisto/cirnofarm.git
synced 2026-06-01 10:15:46 +00:00
Converted cirno to movable object
This commit is contained in:
parent
5e667fd6d2
commit
81a8c11823
5 changed files with 76 additions and 186 deletions
|
|
@ -6,7 +6,7 @@ version 2
|
||||||
:: sfx/
|
:: sfx/
|
||||||
:: gfx/0.gfx
|
:: gfx/0.gfx
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIscmV2aXNpb249ODk2XV1sejQAkAgAAPw9AADzFHtbMF09e2JtcD1weHUA
|
NC0yNiAxMjo1MjoxNiIscmV2aXNpb249OTA4XV1sejQAkAgAAPw9AADzFHtbMF09e2JtcD1weHUA
|
||||||
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
|
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
|
||||||
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
|
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
|
||||||
pgQAww0VAA2WHQUQvQXwE1gAHzNYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
|
pgQAww0VAA2WHQUQvQXwE1gAHzNYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
|
||||||
|
|
@ -48,34 +48,35 @@ CAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA----------------------------------------
|
||||||
----w1A9MTF9fQ==
|
----w1A9MTF9fQ==
|
||||||
:: gfx/.info.pod
|
:: gfx/.info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
NC0yNiAxMjo1MjoxNyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
||||||
MG5pbA==
|
MG5pbA==
|
||||||
:: map/0.map
|
:: map/0.map
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIscmV2aXNpb249OTE5XV1sejQAngMAABVCAADwCHt7Ym1wPXVzZXJkYXRh
|
NC0yNiAxMjo1MjoxNiIscmV2aXNpb249OTM1XV1sejQAqAMAABVCAADwCHt7Ym1wPXVzZXJkYXRh
|
||||||
KCJpMTYiLDMyAwAvIjABAP_DLjEwDAAPAQDhPzQ4MAEAXi80MAEACz8xMzABAHMXNAQADwEANQ9Q
|
KCJpMTYiLDMyAwAvIjABAP_DLjEwDAAPAQDhPzQ4MAEAXi80MAEACz8xMzABAHMXNAQADwEANQ9Q
|
||||||
ACEfM4AAbg8BALoqNDgIAQ8EAwcOIAAPAQA2BIAAHzNgAQAvMzABAE4vNDgYAA8OJAAPAQA5DmgA
|
ACEfM4AAbg8BALoqNDgIAQ8EAwcOIAAPAQA2BIAAHzNgAQAvMzABAE4vNDgYAA8OJAAPAQA5DmgA
|
||||||
DwEAch4zgAEPgABgDwEA---------7-1HSIpLGhpZGRlbj1mYWxzZSxuYW1lPSJvYmplY3RzIixw
|
DwEAch4zgAEPgABgDwEA---------7-1HSIpLGhpZGRlbj1mYWxzZSxuYW1lPSJvYmplY3RzIixw
|
||||||
YW5feD0tMTUyLjgzAQABFwBpeT0tMTAxFwCSdGlsZV9oPTE2CgAQdwoAj3pvb209MX0shBAJDwEA
|
YW5feD0tMTQwLjgzAQABFwBpeT0tMTA1FwCSdGlsZV9oPTE2CgAQdwoAj3pvb209MX0shBAJDwEA
|
||||||
----mi9hMIAA-2AvMzABAP-------------WD4QQA69mb3JlZ3JvdW5khxDiLzM5BAADDwEAUWMz
|
----mi9hMIAA-2AvMzABAP-------------WD4QQA6Zmb3JlZ3JvdW5khxAvNTKHEAMfMYcQvy8z
|
||||||
MjAwMDkEABpiDAAfM4AAXRowDAAfMwABbRY4jAEPBAABD4AANg8BAAUeY5QACAgAHzOAAFkXMAwA
|
OQQAAw8BAFFjMzIwMDA5BAAaYgwAHzOAAF0aMAwAHzMAAW0WOIwBDwQAAQ_AADYPAQAFHmOUAAgI
|
||||||
D4AAPRc1BAAIAQAvNTABAAgPAAFQHzCAANQfNQQADAQBABo1BAAPAAG2D4AA7GoyYjAwMmMEAAQB
|
AB8zgABZFzAMAA_AAD0XNQQACAEALzUwAQAIDwABUB8wgADUHzUEAAwEAQAaNQQADwABtg_AAOxq
|
||||||
AC8yYwQABB9kgAA3PzM1MAEAHi8zYoAAay8wMIAA-B8ygAA7ZzI4MDAyOQQAH2EAAUgvZDBcAA4A
|
MmIwMDJjBAAEAQAvMmMEAAQfZIAANz8zNTABAB4vM2KAAGsvMDCAAPwfMoAAO2cyODAwMjkEAB9h
|
||||||
KAAOJAAPAQAvDlgAD1wAAy8zMiQAAQ8BAC8PgAAGDPwID4ABJR8zgAAjAXwIFzkEAA_kAQIPAQAv
|
AAFIL2QwXAAOACgADiQADwEALw5YAA9cAAMvMzIkAAEPAQAvD4AABgz8CA_AASUfM4AAIwF8CBc5
|
||||||
AYAAFzUEAA_AABEDLAAvMzABADMO4AIPMAAMAxwDDgEAD5ADJw_IAQMPHAITDwEAAw_AAEcNnAEP
|
BAAPpAECDwEALwGAABc1BAAPgAARAywALzMwAQAzDuACDzAADAMcAw4BAA_QAycPiAEDDxwCEw8B
|
||||||
gADdDgEAD4AArgUIAw8EACQPhxAxT3NvbGmCEFYPAQD-hAhKAi85MAEA1i8xYQQAAw8BAFUvMWEE
|
AAMPgABHDZwBD4AA3Q4BAA_AAK4FCAMPBAAkD4cQMU9zb2xpghBWDwEA-4QISgIvOTABANYvMWEE
|
||||||
AAMvMDCQAVMnMWIEABY5BAAvMDgEAAoPAQA3HzgEACIPAQA3HzgEACIPgAE3HzgEACMPAQA1LzE4
|
AAMPAQBVLzFhBAADLzAwkAFTJzFiBAAWOQQALzA4BAAKDwEANx84BAAiDwEANx84BAAiD4ABNx84
|
||||||
BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4BAAjDwEANS8xYgQAAAQIBB9iBAAHDwEANh84
|
BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMWIEAAAECAQf
|
||||||
BAAiDwEANx84BAAiDwEANx84BAAiDwEANx44BAAPghACGzgEAA8BADUeOAQAHzOiCwEbOAQADwEA
|
YgQABw8BADYfOAQAIg8BADcfOAQAIg8BADcfOAQAIg8BADceOAQAD4IQAhs4BAAPAQA1HjgEAB8z
|
||||||
NR84gAD-bC4xYngED4AAAQQcAA6ABA8BADQfOAQAEg8BAEYvMTgEABMPAQBFLzE4BAATDwEARS8x
|
ogsBGzgEAA8BADUfOIAA-2wuMWJ4BA_AAAEEHAAOgAQPAQA0HzgEABIPAQBGLzE4BAATDwEARS8x
|
||||||
OAQAEw8BAEYfOAQAIg8BADcfOAQAIg8JIbZMYmFjawkhTjEyLjOHECgyNhYAD4cQBlBtPTF9fQ==
|
OAQAEw8BAEUvMTgEABMPAQBGHzgEACIPAQA3HzgEACIPCSG2TGJhY2sJIU4xMi4zhxAoMjYWAA_H
|
||||||
|
EAZQbT0xfX0=
|
||||||
:: map/.info.pod
|
:: map/.info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
NC0yNiAxMjo1MjoxNyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
||||||
MG5pbA==
|
MG5pbA==
|
||||||
:: sfx/0.sfx
|
:: sfx/0.sfx
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIscmV2aXNpb249NzUyXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
|
NC0yNiAxMjo1MjoxNiIscmV2aXNpb249NzYxXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
|
||||||
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
|
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
|
||||||
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
|
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
|
||||||
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
|
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
|
||||||
|
|
@ -84,14 +85,14 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
|
||||||
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
|
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
|
||||||
:: sfx/.info.pod
|
:: sfx/.info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
NC0yNiAxMjo1MjoxNyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
||||||
MG5pbA==
|
MG5pbA==
|
||||||
:: main.lua
|
:: main.lua
|
||||||
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-26 12:22:40",revision=1022]]
|
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-26 12:52:16",revision=1036]]
|
||||||
include("/cirnofarm/src/game.lua")
|
include("/cirnofarm/src/game.lua")
|
||||||
:: .info.pod
|
:: .info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNiAxMjoyMjo0MCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
|
NC0yNiAxMjo1MjoxNyIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
|
||||||
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0
|
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0
|
||||||
aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs
|
aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs
|
||||||
d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9
|
d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9
|
||||||
|
|
|
||||||
194
src/cirno.lua
194
src/cirno.lua
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
local weapons_manager = require(make_path("weapons"))
|
local weapons_manager = require(make_path("weapons"))
|
||||||
local map_manager = require(make_path("map"))
|
local map_manager = require(make_path("map"))
|
||||||
|
local MovableActor = require(make_path("movable_actor"))
|
||||||
|
|
||||||
last_coll=0
|
last_coll=0
|
||||||
mouse_debug = true
|
mouse_debug = true
|
||||||
|
|
@ -11,6 +12,29 @@ h=300
|
||||||
asdf = {top=0, side=1}
|
asdf = {top=0, side=1}
|
||||||
LAYERS_COUNT=4
|
LAYERS_COUNT=4
|
||||||
|
|
||||||
|
local Cirno = MovableActor:new()
|
||||||
|
Cirno.spriteIndex = 65
|
||||||
|
Cirno.crosshair_index=82
|
||||||
|
|
||||||
|
function Cirno:update()
|
||||||
|
if (btn(0)) self.move_x -= self.speed self.hflip = true
|
||||||
|
if (btn(1)) self.move_x += self.speed self.hflip = false
|
||||||
|
if (btn(2)) self.move_y -= self.speed
|
||||||
|
if (btn(3)) self.move_y += self.speed
|
||||||
|
|
||||||
|
self:move()
|
||||||
|
|
||||||
|
if (btn(4)) then
|
||||||
|
--create_bullet(self.x,self.y,self.move_x,self.move_Y)
|
||||||
|
weapons_manager.create_bullet(self.x+8,self.y+8,self.move_x,self.move_y)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function Cirno:draw()
|
||||||
|
spr(self.spriteIndex,self.x,self.y, self.hflip)
|
||||||
|
|
||||||
|
draw_crosshair(self)
|
||||||
|
end
|
||||||
|
|
||||||
function draw_crosshair(self)
|
function draw_crosshair(self)
|
||||||
local radius = 20 -- Adjust the radius of the crosshair as needed
|
local radius = 20 -- Adjust the radius of the crosshair as needed
|
||||||
|
|
@ -24,170 +48,24 @@ function draw_crosshair(self)
|
||||||
--circfill(crosshair_x, crosshair_y, 2, 7) -- Adjust the size and color as needed
|
--circfill(crosshair_x, crosshair_y, 2, 7) -- Adjust the size and color as needed
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function cirno_init()
|
|
||||||
--bullets={}
|
|
||||||
|
|
||||||
player={}
|
|
||||||
local cirnoInstance = {
|
|
||||||
x=128,
|
|
||||||
y=128,
|
|
||||||
w=16,
|
|
||||||
h=16,
|
|
||||||
speed=0.05,
|
|
||||||
hflip=false,
|
|
||||||
spriteIndex=65,
|
|
||||||
crosshair_index=82,
|
|
||||||
move_x=0,
|
|
||||||
move_y=0,
|
|
||||||
noclip=false,
|
|
||||||
cm=true, -- Collide with map tiles
|
|
||||||
cb=true, -- Collide with world bounds
|
|
||||||
draw=function(self)
|
|
||||||
|
|
||||||
spr(self.spriteIndex,self.x,self.y, self.hflip)
|
|
||||||
print(string.format("x:%.2f y:%.2f mx:%.2f my:%.2f",self.x,self.y,
|
|
||||||
self.move_x,self.move_y),0,0,1)
|
|
||||||
|
|
||||||
draw_crosshair(self)
|
|
||||||
--print(string.format("dir_x:%.4f dir_y:%.4f",self.
|
|
||||||
end,
|
|
||||||
update=function(self)
|
|
||||||
self.move_character(self)
|
|
||||||
|
|
||||||
-- Shoot bullet with Z
|
|
||||||
if (btn(4)) then
|
|
||||||
--create_bullet(self.x,self.y,self.move_x,self.move_Y)
|
|
||||||
weapons_manager.create_bullet(self.x+8,self.y+8,self.move_x,self.move_y)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
move_character=function(self)
|
|
||||||
|
|
||||||
local hitbox_x = 4
|
|
||||||
local hitbox_y = 8
|
|
||||||
local hitbox_w = 6
|
|
||||||
local hitbox_h = 8
|
|
||||||
|
|
||||||
--self.move_x = self.x
|
|
||||||
--self.move_y = self.y
|
|
||||||
if (btn(0)) self.move_x -= self.speed self.hflip = true
|
|
||||||
if (btn(1)) self.move_x += self.speed self.hflip = false
|
|
||||||
if (btn(2)) self.move_y -= self.speed
|
|
||||||
if (btn(3)) self.move_y += self.speed
|
|
||||||
|
|
||||||
if (check_collision(self.x+self.move_x+hitbox_x,
|
|
||||||
self.y+hitbox_y,
|
|
||||||
hitbox_w,
|
|
||||||
hitbox_h)) then
|
|
||||||
if (not self.noclip) then self.move_x = 0 end
|
|
||||||
end
|
|
||||||
|
|
||||||
if (check_collision(self.x+hitbox_x,
|
|
||||||
self.y+self.move_y+hitbox_y,
|
|
||||||
hitbox_w,
|
|
||||||
hitbox_h)) then
|
|
||||||
if (not self.noclip) then self.move_y = 0 end
|
|
||||||
end
|
|
||||||
|
|
||||||
self.move_x *= 0.95
|
|
||||||
self.move_y *= 0.95
|
|
||||||
|
|
||||||
self.x += self.move_x
|
|
||||||
self.y += self.move_y
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
add(player, cirnoInstance)
|
|
||||||
|
|
||||||
return cirnoInstance
|
|
||||||
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function cirno_draw()
|
|
||||||
--cls(0)
|
|
||||||
|
|
||||||
|
|
||||||
--drawMap()
|
|
||||||
|
|
||||||
--debug_mouse()
|
|
||||||
for p in all(player) do
|
|
||||||
p:draw()
|
|
||||||
end
|
|
||||||
|
|
||||||
print(string.format("%.4f %dfps",stat(1),stat(7)),2,16,5)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function cirno_update()
|
|
||||||
for p in all(player) do
|
|
||||||
p:update()
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function check_collision(x,y,w,h)
|
|
||||||
local collide = false
|
|
||||||
|
|
||||||
for i=x,x+w,w do
|
|
||||||
|
|
||||||
if (map_manager.is_tile_solid(i,y) or map_manager.is_tile_solid(i,y+h)) then
|
|
||||||
collide = collide or true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for i=y,y+h do
|
|
||||||
if (map_manager.is_tile_solid(x,i) or map_manager.is_tile_solid(x+w,i)) then
|
|
||||||
collide = collide or true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return collide
|
|
||||||
end
|
|
||||||
|
|
||||||
function cmap(o)
|
|
||||||
local ct=false
|
|
||||||
local cb=false
|
|
||||||
|
|
||||||
-- if colliding with map tiles
|
|
||||||
if(o.cm) then
|
|
||||||
local x1=o.x/tile_width
|
|
||||||
local y1=o.y/tile_height
|
|
||||||
local x2=(o.x+tile_width-1)/tile_width
|
|
||||||
local y2=(o.y+tile_height-1)/tile_height
|
|
||||||
local a=fget(mget(x1,y1),1)
|
|
||||||
local b=fget(mget(x1,y2),1)
|
|
||||||
local c=fget(mget(x2,y2),1)
|
|
||||||
local d=fget(mget(x2,y1),1)
|
|
||||||
ct=a or b or c or d
|
|
||||||
end
|
|
||||||
-- if colliding world bounds
|
|
||||||
if(o.cw) then
|
|
||||||
cb=(o.x<0 or o.x+tile_width>w or
|
|
||||||
o.y<0 or o.y+tile_height>h)
|
|
||||||
end
|
|
||||||
|
|
||||||
return ct or cb
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
M = {}
|
M = {}
|
||||||
|
|
||||||
function M.init()
|
function M.init()
|
||||||
return cirno_init()
|
--return cirno_init()
|
||||||
|
local c = Cirno:new(128,128)
|
||||||
|
return c
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.update()
|
-- function M.update()
|
||||||
return cirno_update()
|
-- return cirno_update()
|
||||||
end
|
-- end
|
||||||
|
|
||||||
function M.draw()
|
-- function M.draw()
|
||||||
return cirno_draw()
|
-- return cirno_draw()
|
||||||
end
|
-- end
|
||||||
|
|
||||||
function M.get()
|
-- function M.get()
|
||||||
return player[1]
|
-- return player[1]
|
||||||
end
|
-- end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
11
src/game.lua
11
src/game.lua
|
|
@ -51,7 +51,7 @@ end
|
||||||
--local strawberry = require(make_path("strawberry"))
|
--local strawberry = require(make_path("strawberry"))
|
||||||
--strawberry.func()
|
--strawberry.func()
|
||||||
|
|
||||||
local cirno = require(make_path("cirno"))
|
local Cirno = require(make_path("cirno"))
|
||||||
local mouse_debug = require(make_path("mouse_debug"))
|
local mouse_debug = require(make_path("mouse_debug"))
|
||||||
local map_manager = require(make_path("map"))
|
local map_manager = require(make_path("map"))
|
||||||
local weapons_manager = require(make_path("weapons"))
|
local weapons_manager = require(make_path("weapons"))
|
||||||
|
|
@ -63,11 +63,12 @@ tile_height = 16
|
||||||
|
|
||||||
function _init()
|
function _init()
|
||||||
spawn_objects()
|
spawn_objects()
|
||||||
cirnoInstance = cirno.init()
|
cirnoInstance = Cirno.init()
|
||||||
|
add(actors,cirnoInstance)
|
||||||
end
|
end
|
||||||
|
|
||||||
function _update()
|
function _update()
|
||||||
cirno.update()
|
--cirno.update()
|
||||||
|
|
||||||
weapons_manager.update()
|
weapons_manager.update()
|
||||||
|
|
||||||
|
|
@ -106,7 +107,7 @@ function _draw()
|
||||||
weapons_manager.debug_draw()
|
weapons_manager.debug_draw()
|
||||||
|
|
||||||
print(string.format("Actors: %d", count(actors)),0,32+8)
|
print(string.format("Actors: %d", count(actors)),0,32+8)
|
||||||
|
print(string.format("%.4f %dfps",stat(1),stat(7)),2,16,5)
|
||||||
end
|
end
|
||||||
|
|
||||||
function spawn_objects()
|
function spawn_objects()
|
||||||
|
|
@ -142,7 +143,7 @@ function render_layer(layer)
|
||||||
|
|
||||||
if (layer.render_objects) then
|
if (layer.render_objects) then
|
||||||
-- Render all objects here
|
-- Render all objects here
|
||||||
cirno.draw()
|
--cirno.draw()
|
||||||
|
|
||||||
weapons_manager.draw()
|
weapons_manager.draw()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ MovableActor.noclip=false
|
||||||
MovableActor.collide_map=true
|
MovableActor.collide_map=true
|
||||||
MovableActor.collide_actors=true
|
MovableActor.collide_actors=true
|
||||||
MovableActor.collide_bounds=true
|
MovableActor.collide_bounds=true
|
||||||
|
MovableActor.friction_x=0.95
|
||||||
|
MovableActor.friction_y=0.95
|
||||||
|
|
||||||
function MovableActor:draw()
|
function MovableActor:draw()
|
||||||
spr(self.spriteIndex,self.x,self.y, self.hflip)
|
spr(self.spriteIndex,self.x,self.y, self.hflip)
|
||||||
|
|
@ -42,8 +44,8 @@ function MovableActor:move()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
self.move_x *= 0.95
|
self.move_x *= self.friction_x
|
||||||
self.move_y *= 0.95
|
self.move_y *= self.friction_y
|
||||||
|
|
||||||
self.x += self.move_x
|
self.x += self.move_x
|
||||||
self.y += self.move_y
|
self.y += self.move_y
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,12 @@ Strawberry.collide_map=false
|
||||||
Strawberry.collide_actors=false
|
Strawberry.collide_actors=false
|
||||||
Strawberry.collide_bounds=false
|
Strawberry.collide_bounds=false
|
||||||
|
|
||||||
|
function Strawberry:update()
|
||||||
|
if (btn(5)) then
|
||||||
|
self.move_x = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
self:move()
|
||||||
|
end
|
||||||
|
|
||||||
return Strawberry
|
return Strawberry
|
||||||
Loading…
Add table
Add a link
Reference in a new issue