Directional shooting

This commit is contained in:
MaddoScientisto 2024-04-23 22:41:43 +02:00
commit 9f9624661c
4 changed files with 35 additions and 20 deletions

View file

@ -6,7 +6,7 @@ version 2
:: sfx/
:: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscmV2aXNpb249NTY3XV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
NC0yMyAyMDo0MToyOSIscmV2aXNpb249NjEwXV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
pgQAww0VAA2WHQUQvQXwE1gAHzFYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
@ -38,11 +38,11 @@ EAfwBAcQByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA--------
------------------------------------w1A9MTF9fQ==
:: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMyAyMDo0MTozMCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: map/0.map
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscmV2aXNpb249NTc4XV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
NC0yMyAyMDo0MToyOSIscmV2aXNpb249NjIxXV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB
AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8vxGSIpLGhpZGRlbj1mYWxzZSxuYW1l
PSJvYmplY3RzIixwYW5feD0tOTAKAPIBeT0tMTEwLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9LGsQ
@ -56,11 +56,11 @@ ACIPAQA3HzgEACIPgAE3HzgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4
BAAjD9cg-----------FTGJhY2vXIA9uEBFQbT0xfX0=
:: map/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMyAyMDo0MTozMCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: sfx/0.sfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscmV2aXNpb249NDc3XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
NC0yMyAyMDo0MToyOSIscmV2aXNpb249NTIwXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
@ -69,10 +69,10 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
:: sfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMyAyMDo0MTozMCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: main.lua
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-22 21:09:28",revision=646]]
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-23 20:41:29",revision=700]]
--cd("/cirnofarm/src")
--include("/cirnofarm/src/cirno.lua")
@ -123,8 +123,8 @@ function require(name)
return module
end
local strawberry = require(make_path("strawberry"))
strawberry.func()
--local strawberry = require(make_path("strawberry"))
--strawberry.func()
local cirno = require(make_path("cirno"))
local mouse_debug = require(make_path("mouse_debug"))
@ -146,8 +146,8 @@ function _draw()
end
:: .info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSM2NSIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2Nh
NC0yMyAyMDo0MTozMCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSM1MiIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2Nh
dGlvbj0iZ2Z4LzAuZ2Z4Iix3b3Jrc3BhY2VfaW5kZXg9Mn0se2xvY2F0aW9uPSJtYXAvMC5tYXAi
LHdvcmtzcGFjZV9pbmRleD0zfSx7bG9jYXRpb249InNmeC8wLnNmeCIsd29ya3NwYWNlX2luZGV4
PTR9fV1dbHo0AAQAAAADAAAAMG5pbA==

View file

@ -1,4 +1,4 @@
--[[pod_format="raw",created="2024-04-14 14:05:11",modified="2024-04-22 21:09:25",revision=334]]
--[[pod_format="raw",created="2024-04-14 14:05:11",modified="2024-04-23 20:41:32",revision=380]]
--include("/cirnofarm/src/actor.lua")
last_coll=0
@ -15,12 +15,20 @@ LAYERS = {
{index=1, name="objects", render=false, render_objects=false, spawn_objects=true}
}
function create_bullet(new_x,new_y)
function create_bullet(new_x, new_y, dir_x, dir_y)
-- Calculate the length of the direction vector
local length = sqrt(dir_x^2 + dir_y^2)
-- Normalize the direction vector
local normalized_dir_x = dir_x / length
local normalized_dir_y = dir_y / length
add(bullets, {
x=new_x,
y=new_y,
dx=2,
dy=2,
dx=normalized_dir_x * 2,
dy=normalized_dir_y * 2,
spriteIndex=80,
destroy_sprite_index=66,
life=100,
@ -66,13 +74,18 @@ function cirno_init()
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 bls:%s",self.x,self.y,
print(string.format("x:%.2f y:%.2f mx:%.2f my:%.2f blts:%s",self.x,self.y,
self.move_x,self.move_y,count(bullets)),0,0,1)
--print(string.format("dir_x:%.4f dir_y:%.4f",self.
end,
update=function(self)
self.move_character(self)
if (btn(4)) then create_bullet(self.x,self.y) end
-- Shoot bullet
if (btn(4)) then
--create_bullet(self.x,self.y,self.move_x,self.move_Y)
create_bullet(self.x,self.y,self.move_x,self.move_y)
end
end,
move_character=function(self)
@ -122,7 +135,9 @@ function cirno_draw()
--debug_mouse()
print(string.format("%.4f %dfps",stat(1),stat(7)),2,2,5)
print(string.format("%.4f %dfps",stat(1),stat(7)),2,16,5)
end
function render_layer(layer)

View file

@ -1,4 +1,4 @@
--[[pod_format="raw",created="2024-04-23 18:57:57",modified="2024-04-23 18:57:58",revision=1]]
--[[pod_format="raw",created="2024-04-23 18:57:57",modified="2024-04-23 19:02:49",revision=2]]
-- spr_from_atlas() - draw to the screen a slice of a sprite atlas
-- param: s - sprite atlas to use (the number in the Picotron spritesheet)
-- param: idx - the 0-based index to render from the atlas

View file

@ -1,4 +1,4 @@
--[[pod_format="raw",created="2024-04-22 19:32:54",modified="2024-04-22 20:14:13",revision=5]]
--[[pod_format="raw",created="2024-04-22 19:32:54",modified="2024-04-23 20:21:06",revision=6]]
M = {}
function M.func()