init defold game
This commit is contained in:
parent
925d375313
commit
26e88c8f03
20 changed files with 381 additions and 9 deletions
86
defold_game/.editor_settings
Normal file
86
defold_game/.editor_settings
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
:code {
|
||||
:breakpoints [
|
||||
]
|
||||
}
|
||||
:workflow {
|
||||
:open-tabs [
|
||||
[
|
||||
[
|
||||
"/main/main.atlas"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/main/main.collection"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/main/player.tilesource"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/main/player.script"
|
||||
:code
|
||||
]
|
||||
[
|
||||
"/main/main.script"
|
||||
:code
|
||||
]
|
||||
[
|
||||
"/game.project"
|
||||
:cljfx-form-view
|
||||
]
|
||||
[
|
||||
"/input/game.input_binding"
|
||||
:cljfx-form-view
|
||||
]
|
||||
[
|
||||
"/main/player.sprite"
|
||||
:scene
|
||||
]
|
||||
]
|
||||
]
|
||||
:recent-files [
|
||||
[
|
||||
"/main/player.tilesource"
|
||||
:text
|
||||
]
|
||||
[
|
||||
"/main/player.sprite"
|
||||
:text
|
||||
]
|
||||
[
|
||||
"/main/main.atlas"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/main/player.tilesource"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/game.project"
|
||||
:cljfx-form-view
|
||||
]
|
||||
[
|
||||
"/input/game.input_binding"
|
||||
:cljfx-form-view
|
||||
]
|
||||
[
|
||||
"/main/main.collection"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/main/player.sprite"
|
||||
:scene
|
||||
]
|
||||
[
|
||||
"/main/main.script"
|
||||
:code
|
||||
]
|
||||
[
|
||||
"/main/player.script"
|
||||
:code
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
19
defold_game/README.md
Normal file
19
defold_game/README.md
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Welcome to Defold
|
||||
|
||||
This project was created from the "desktop" project template. This means that the settings in ["game.project"](defold://open?path=/game.project) have been changed to be suitable for a desktop game:
|
||||
|
||||
- The screen size is set to 1280x720
|
||||
- Projection is set to Fixed Fit
|
||||
- macOS and Windows icons are set
|
||||
- Mouse clicks are bound to action "touch"
|
||||
- A simple script in a game object is set up to receive and react to input
|
||||
|
||||
[Build and run](defold://project.build) to see it in action. You can of course alter these settings to fit your needs.
|
||||
|
||||
Check out [the documentation pages](https://defold.com/learn) for examples, tutorials, manuals and API docs.
|
||||
|
||||
If you run into trouble, help is available in [our forum](https://forum.defold.com).
|
||||
|
||||
Happy Defolding!
|
||||
|
||||
---
|
||||
BIN
defold_game/assets/app_icons/appicon.icns
Normal file
BIN
defold_game/assets/app_icons/appicon.icns
Normal file
Binary file not shown.
BIN
defold_game/assets/app_icons/appicon.ico
Normal file
BIN
defold_game/assets/app_icons/appicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 361 KiB |
BIN
defold_game/assets/images/background.png
Normal file
BIN
defold_game/assets/images/background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
BIN
defold_game/assets/images/logo.png
Normal file
BIN
defold_game/assets/images/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
BIN
defold_game/assets/images/player.png
Normal file
BIN
defold_game/assets/images/player.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 436 B |
35
defold_game/game.project
Normal file
35
defold_game/game.project
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
[project]
|
||||
title = Desktop Game
|
||||
|
||||
[bootstrap]
|
||||
main_collection = /main/main.collectionc
|
||||
|
||||
[input]
|
||||
game_binding = /input/game.input_bindingc
|
||||
use_accelerometer = 0
|
||||
|
||||
[display]
|
||||
width = 1280
|
||||
height = 720
|
||||
high_dpi = 1
|
||||
|
||||
[script]
|
||||
shared_state = 1
|
||||
|
||||
[windows]
|
||||
app_icon = /assets/app_icons/appicon.ico
|
||||
|
||||
[osx]
|
||||
app_icon = /assets/app_icons/appicon.icns
|
||||
|
||||
[android]
|
||||
input_method = HiddenInputField
|
||||
|
||||
[physics]
|
||||
gravity_y = -1000.0
|
||||
scale = 0.01
|
||||
velocity_threshold = 100.0
|
||||
|
||||
[html5]
|
||||
scale_mode = stretch
|
||||
|
||||
20
defold_game/input/game.input_binding
Normal file
20
defold_game/input/game.input_binding
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
key_trigger {
|
||||
input: KEY_W
|
||||
action: "up"
|
||||
}
|
||||
key_trigger {
|
||||
input: KEY_A
|
||||
action: "left"
|
||||
}
|
||||
key_trigger {
|
||||
input: KEY_S
|
||||
action: "down"
|
||||
}
|
||||
key_trigger {
|
||||
input: KEY_D
|
||||
action: "right"
|
||||
}
|
||||
mouse_trigger {
|
||||
input: MOUSE_BUTTON_LEFT
|
||||
action: "touch"
|
||||
}
|
||||
15
defold_game/main/main.atlas
Normal file
15
defold_game/main/main.atlas
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
images {
|
||||
image: "/assets/images/background.png"
|
||||
}
|
||||
images {
|
||||
image: "/assets/images/logo.png"
|
||||
}
|
||||
images {
|
||||
image: "/builtins/graphics/particle_blob.png"
|
||||
}
|
||||
images {
|
||||
image: "/assets/images/player.png"
|
||||
pivot_x: 0.536806
|
||||
pivot_y: 0.447809
|
||||
}
|
||||
extrude_borders: 2
|
||||
79
defold_game/main/main.collection
Normal file
79
defold_game/main/main.collection
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
name: "main"
|
||||
scale_along_z: 0
|
||||
embedded_instances {
|
||||
id: "go"
|
||||
data: "components {\n"
|
||||
" id: \"main\"\n"
|
||||
" component: \"/main/main.script\"\n"
|
||||
"}\n"
|
||||
"embedded_components {\n"
|
||||
" id: \"logo\"\n"
|
||||
" type: \"sprite\"\n"
|
||||
" data: \"default_animation: \\\"logo\\\"\\n"
|
||||
"material: \\\"/builtins/materials/sprite.material\\\"\\n"
|
||||
"textures {\\n"
|
||||
" sampler: \\\"texture_sampler\\\"\\n"
|
||||
" texture: \\\"/main/main.atlas\\\"\\n"
|
||||
"}\\n"
|
||||
"\"\n"
|
||||
"}\n"
|
||||
"embedded_components {\n"
|
||||
" id: \"background\"\n"
|
||||
" type: \"sprite\"\n"
|
||||
" data: \"default_animation: \\\"background\\\"\\n"
|
||||
"material: \\\"/builtins/materials/sprite.material\\\"\\n"
|
||||
"textures {\\n"
|
||||
" sampler: \\\"texture_sampler\\\"\\n"
|
||||
" texture: \\\"/main/main.atlas\\\"\\n"
|
||||
"}\\n"
|
||||
"\"\n"
|
||||
" position {\n"
|
||||
" z: -0.5\n"
|
||||
" }\n"
|
||||
"}\n"
|
||||
""
|
||||
position {
|
||||
x: 640.0
|
||||
y: 360.0
|
||||
}
|
||||
}
|
||||
embedded_instances {
|
||||
id: "camera"
|
||||
data: "embedded_components {\n"
|
||||
" id: \"camera\"\n"
|
||||
" type: \"camera\"\n"
|
||||
" data: \"aspect_ratio: 1.0\\n"
|
||||
"fov: 0.7854\\n"
|
||||
"near_z: -1.0\\n"
|
||||
"far_z: 1.0\\n"
|
||||
"orthographic_projection: 1\\n"
|
||||
"orthographic_mode: ORTHO_MODE_AUTO_COVER\\n"
|
||||
"\"\n"
|
||||
"}\n"
|
||||
""
|
||||
position {
|
||||
x: 640.0
|
||||
y: 360.0
|
||||
}
|
||||
}
|
||||
embedded_instances {
|
||||
id: "player"
|
||||
data: "components {\n"
|
||||
" id: \"body\"\n"
|
||||
" component: \"/main/player.sprite\"\n"
|
||||
" position {\n"
|
||||
" x: 109.0\n"
|
||||
" y: 90.0\n"
|
||||
" }\n"
|
||||
" scale {\n"
|
||||
" x: 2.0\n"
|
||||
" y: 2.0\n"
|
||||
" z: 2.0\n"
|
||||
" }\n"
|
||||
"}\n"
|
||||
"components {\n"
|
||||
" id: \"player1\"\n"
|
||||
" component: \"/main/player.script\"\n"
|
||||
"}\n"
|
||||
""
|
||||
}
|
||||
10
defold_game/main/main.script
Normal file
10
defold_game/main/main.script
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
-- function init(self)
|
||||
-- msg.post(".", "acquire_input_focus")
|
||||
-- end
|
||||
--
|
||||
-- function on_input(self, action_id, action)
|
||||
-- if action_id == hash("touch") and action.pressed then
|
||||
-- print("Touch!")
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
30
defold_game/main/player.script
Normal file
30
defold_game/main/player.script
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
function init(self)
|
||||
msg.post(".", "acquire_input_focus") -- <1>
|
||||
self.vel = vmath.vector3() -- <2>
|
||||
end
|
||||
|
||||
function update(self, dt)
|
||||
local pos = go.get_position() -- <3>
|
||||
pos = pos + self.vel * dt -- <4>
|
||||
go.set_position(pos) -- <5>
|
||||
|
||||
self.vel.x = 0 -- <6>
|
||||
self.vel.y = 0
|
||||
|
||||
-- sprite.play_flipbook("#body", "s")
|
||||
rot = go.get_rotation()
|
||||
print(rot)
|
||||
|
||||
end
|
||||
|
||||
function on_input(self, action_id, action)
|
||||
if action_id == hash("up") then
|
||||
self.vel.y = 150 -- <7>
|
||||
elseif action_id == hash("down") then
|
||||
self.vel.y = -150
|
||||
elseif action_id == hash("left") then
|
||||
self.vel.x = -150 -- <8>
|
||||
elseif action_id == hash("right") then
|
||||
self.vel.x = 150
|
||||
end
|
||||
end
|
||||
6
defold_game/main/player.sprite
Normal file
6
defold_game/main/player.sprite
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
default_animation: "n"
|
||||
material: "/builtins/materials/sprite.material"
|
||||
textures {
|
||||
sampler: "texture_sampler"
|
||||
texture: "/main/player.tilesource"
|
||||
}
|
||||
52
defold_game/main/player.tilesource
Normal file
52
defold_game/main/player.tilesource
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
image: "/assets/images/player.png"
|
||||
tile_width: 25
|
||||
tile_height: 25
|
||||
collision_groups: "player"
|
||||
animations {
|
||||
id: "e"
|
||||
start_tile: 4
|
||||
end_tile: 4
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "n"
|
||||
start_tile: 1
|
||||
end_tile: 1
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "ne"
|
||||
start_tile: 3
|
||||
end_tile: 3
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "nw"
|
||||
start_tile: 8
|
||||
end_tile: 8
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "s"
|
||||
start_tile: 2
|
||||
end_tile: 2
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "se"
|
||||
start_tile: 5
|
||||
end_tile: 5
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "sw"
|
||||
start_tile: 6
|
||||
end_tile: 6
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
animations {
|
||||
id: "w"
|
||||
start_tile: 7
|
||||
end_tile: 7
|
||||
playback: PLAYBACK_NONE
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue