starfield parallax working
This commit is contained in:
parent
2681d2105f
commit
52ab1af61f
17 changed files with 184 additions and 90 deletions
|
|
@ -1,2 +1,2 @@
|
|||
time = 1601052740
|
||||
time = 1601163648
|
||||
version = 2
|
||||
|
|
|
|||
|
|
@ -18,21 +18,29 @@ methods = {
|
|||
} //game
|
||||
Game = {
|
||||
create_starfield2 = true
|
||||
create_asteroids = true
|
||||
tick = true
|
||||
destroy = true
|
||||
if = true
|
||||
lerp = true
|
||||
tick_camera = true
|
||||
app = true
|
||||
tick_starfield_old = true
|
||||
star = true
|
||||
create_starfield = true
|
||||
Draw = true
|
||||
ready = true
|
||||
create_ui_text = true
|
||||
create_startracker = true
|
||||
tick_starfield = true
|
||||
get_axis = true
|
||||
_cam_offset_y = true
|
||||
tick_ship = true
|
||||
create_ship = true
|
||||
- = true
|
||||
tick_startracker = true
|
||||
tick_starfield2 = true
|
||||
} //Game
|
||||
} //methods
|
||||
time = 1601052740
|
||||
time = 1601163648
|
||||
version = 1
|
||||
|
|
|
|||
2
.luxe/.luxe.versions/image/reticule.image.lx.version.lx
Normal file
2
.luxe/.luxe.versions/image/reticule.image.lx.version.lx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
time = 1601079411
|
||||
version = 8
|
||||
2
.luxe/.luxe.versions/image/reticule.png.version.lx
Normal file
2
.luxe/.luxe.versions/image/reticule.png.version.lx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
time = 1601079384
|
||||
version = 8
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
time = 1601079405
|
||||
version = 11
|
||||
|
|
@ -9,6 +9,7 @@ material = [
|
|||
"luxe: material/sprite.solid.material.lx"
|
||||
"material/asteroid.material.lx"
|
||||
"material/laser.material.lx"
|
||||
"material/reticule.material.lx"
|
||||
"material/ship.material.lx"
|
||||
"material/star.material.lx"
|
||||
] //material
|
||||
|
|
@ -23,6 +24,7 @@ bytes = [
|
|||
"_art/atlas.ase"
|
||||
"_art/laser.ase"
|
||||
"_art/player_ship.ase"
|
||||
"_art/reticule.ase"
|
||||
"_art/star.ase"
|
||||
"ideas.txt"
|
||||
] //bytes
|
||||
|
|
@ -176,6 +178,7 @@ image = [
|
|||
"luxe: image/logo.sprite.image.lx"
|
||||
"image/asteroid.image.lx"
|
||||
"image/laser.image.lx"
|
||||
"image/reticule.image.lx"
|
||||
"image/ship.image.lx"
|
||||
"image/star.image.lx"
|
||||
] //image
|
||||
|
|
|
|||
BIN
.luxe/image/reticule.image.lx.2ff607d1.rgba8Unorm
Normal file
BIN
.luxe/image/reticule.image.lx.2ff607d1.rgba8Unorm
Normal file
Binary file not shown.
|
|
@ -10,7 +10,9 @@ strings = {
|
|||
942045655 = "material/ship"
|
||||
3621841971 = "project.name"
|
||||
3941839433 = "luxe: material_basis/sprite"
|
||||
1564981858 = "image/reticule"
|
||||
772168989 = "sprite.uv"
|
||||
1809647216 = "material/reticule"
|
||||
4116382270 = "engine.runtime.window.resizable"
|
||||
107771801 = "sprite.color"
|
||||
3791347451 = "engine.render.antialiasing"
|
||||
|
|
|
|||
Binary file not shown.
BIN
.luxe/material/reticule.material.lx.4b19a6bf
Normal file
BIN
.luxe/material/reticule.material.lx.4b19a6bf
Normal file
Binary file not shown.
BIN
_art/reticule.ase
Normal file
BIN
_art/reticule.ase
Normal file
Binary file not shown.
190
game.wren
190
game.wren
|
|
@ -1,6 +1,6 @@
|
|||
import "luxe: game" for Ready
|
||||
import "luxe: assets" for Assets
|
||||
import "luxe: input" for Input, Key
|
||||
import "luxe: input" for Input, Key, MouseButton
|
||||
import "luxe: world" for World, Entity, Transform, Sprite, Values, Tags, Camera, Text
|
||||
import "luxe: render" for Material
|
||||
import "luxe: math" for Math
|
||||
|
|
@ -21,12 +21,22 @@ class Game is Ready {
|
|||
|
||||
// game vars
|
||||
_rand = Random.new()
|
||||
_controls = "mouse" //"mouse" | "keyboard" | "controller"
|
||||
|
||||
// controls
|
||||
if(_controls == "mouse") {
|
||||
_reticule = Entity.create(app.world, "reticule")
|
||||
var reticule_mat = Assets.material("material/reticule")
|
||||
Sprite.create(_reticule, reticule_mat, 16, 16)
|
||||
Transform.create(_reticule)
|
||||
Input.set_mouse_capture(true)
|
||||
}
|
||||
|
||||
// camera
|
||||
_camera_scale = 1
|
||||
_cam_offset_x = (app.width / _camera_scale)
|
||||
_cam_offset_y = (app.height / _camera_scale)
|
||||
Camera.ortho(app.camera, 0, _cam_offset_y, _cam_offset_x, 0, -5, 5)
|
||||
_camera_scale = 2
|
||||
_cam_size_x = (app.width / _camera_scale)
|
||||
_cam_size_y = (app.height / _camera_scale)
|
||||
Camera.ortho(app.camera, 0, _cam_size_y, _cam_size_x, 0, -10, 10)
|
||||
|
||||
// starfield
|
||||
_stars = []
|
||||
|
|
@ -34,29 +44,32 @@ class Game is Ready {
|
|||
|
||||
// player ship
|
||||
_input_vec = []
|
||||
_ship_rotation = 0
|
||||
_ship_speed = 40
|
||||
_ship_acceleration_x = 0
|
||||
_ship_acceleration_y = 0
|
||||
_ship_velocity_x = 0
|
||||
_ship_velocity_y = 0
|
||||
_ship_dampening = 0.85
|
||||
_ship_speed = 20
|
||||
_ship_acceleration = [0,0]
|
||||
_ship_velocity = [0,0]
|
||||
_ship_dampening = 0.97
|
||||
|
||||
// make things
|
||||
create_ship()
|
||||
Transform.set_pos(app.camera, Transform.get_pos_x(_ship) - _cam_offset_x / 2, Transform.get_pos_y(_ship) - _cam_offset_y / 2)
|
||||
create_ui_text()
|
||||
create_startracker()
|
||||
create_starfield()
|
||||
Draw.commit(_starfield_context)
|
||||
create_ship()
|
||||
create_asteroids()
|
||||
create_ui_text()
|
||||
} //ready
|
||||
|
||||
tick(delta) {
|
||||
tick_ship(delta)
|
||||
tick_camera(delta)
|
||||
tick_startracker(delta)
|
||||
tick_starfield(delta)
|
||||
|
||||
if(Input.mouse_state_down(MouseButton.left)) {
|
||||
Input.set_mouse_capture(true)
|
||||
}
|
||||
|
||||
if(Input.key_state_released(Key.escape)) {
|
||||
IO.shutdown()
|
||||
// Input.set_mouse_capture(false)
|
||||
}
|
||||
} //tick
|
||||
|
||||
|
|
@ -68,7 +81,8 @@ class Game is Ready {
|
|||
var ship_mat = Assets.material("material/ship")
|
||||
Sprite.create(_ship, ship_mat, 16, 32)
|
||||
Transform.create(_ship)
|
||||
Transform.set_pos(_ship, 0, 0)
|
||||
Transform.set_pos(_ship, 0, 0, 0)
|
||||
Transform.set_pos(app.camera, Transform.get_pos_x(_ship) - _cam_size_x / 2, Transform.get_pos_y(_ship) - _cam_size_y / 2)
|
||||
} //create_ship
|
||||
|
||||
create_ui_text() {
|
||||
|
|
@ -79,43 +93,87 @@ class Game is Ready {
|
|||
Text.create(_position_text, _mat_font, 32, "fonts/lato", [1,1,1,1])
|
||||
} //create_ui_text
|
||||
|
||||
create_starfield() {
|
||||
// each star needs [xpos, ypos, xsize, ysize, angle?]
|
||||
for(i in 0...1000) {
|
||||
var xpos = Transform.get_pos_x(_startracker) + (_rand.float(-500, 500))
|
||||
var ypos = Transform.get_pos_y(_startracker) + (_rand.float(-500, 500))
|
||||
var xsize = 2
|
||||
var ysize = 2
|
||||
var angle = 0
|
||||
var alpha = _rand.float(0, 0.8)
|
||||
_stars.add([xpos, ypos, xsize, ysize, angle, alpha])
|
||||
Draw.quad(_starfield_context, xpos, ypos, -2, xsize * alpha, ysize * alpha, angle, [1,1,1,alpha])
|
||||
}
|
||||
Draw.commit(_starfield_context)
|
||||
} //create_starfield
|
||||
|
||||
create_startracker() {
|
||||
_star_tracker = Entity.create(app.world, "star_tracker")
|
||||
Transform.create(_star_tracker)
|
||||
Transform.set_pos(_star_tracker, Transform.get_pos_x(_ship), Transform.get_pos_y(_ship), Transform.get_pos_z(_ship))
|
||||
_startracker = Entity.create(app.world, "startracker")
|
||||
Transform.create(_startracker)
|
||||
// Transform.set_pos(_startracker, Transform.get_pos_x(app.camera) + _cam_size_x / 2, Transform.get_pos_y(app.camera) + _cam_size_y / 2, 0)
|
||||
Transform.set_pos(_startracker, 0, 0)
|
||||
|
||||
} //create_startracker
|
||||
|
||||
create_starfield() {
|
||||
for(i in 0...5000) {
|
||||
var xpos = _rand.float() * 1000 - 500
|
||||
var ypos = _rand.float() * 1000 - 500
|
||||
Draw.quad(_starfield_context, xpos-1, ypos, -1, 3, 1, 0, [1,1,1,1])
|
||||
Draw.quad(_starfield_context, xpos, ypos-1, -1, 1, 3, 0, [1,1,1,1])
|
||||
create_asteroids() {
|
||||
for(i in 0...70) {
|
||||
var asteroid = Entity.create(app.world, "asteroid")
|
||||
var asteroid_mat = Assets.material("material/asteroid")
|
||||
Sprite.create(asteroid, asteroid_mat, 8, 8)
|
||||
Transform.create(asteroid)
|
||||
var offsetx = _rand.float(-200, 200)
|
||||
var offsety = _rand.float(-200, 200)
|
||||
Transform.set_pos(asteroid, offsetx, offsety, -1)
|
||||
}
|
||||
} //create_starfield2
|
||||
} //create_asteroids
|
||||
|
||||
// UPDATERS
|
||||
///////////
|
||||
// TICKS
|
||||
////////
|
||||
tick_ship(delta) {
|
||||
var input_vec = [get_axis("horizontal"), get_axis("vertical")]
|
||||
Math.normalize2D(input_vec)
|
||||
|
||||
// 2d movement physics
|
||||
_ship_acceleration_x = input_vec.x * _ship_speed
|
||||
_ship_acceleration_y = input_vec.y * _ship_speed
|
||||
_ship_velocity_x = _ship_velocity_x + (_ship_acceleration_x * delta)
|
||||
_ship_velocity_y = _ship_velocity_y + (_ship_acceleration_y * delta)
|
||||
_ship_velocity_x = _ship_velocity_x * _ship_dampening
|
||||
_ship_velocity_y = _ship_velocity_y * _ship_dampening
|
||||
if(_controls == "keyboard") {
|
||||
// WASD/arrows to move in directions. ship rotates to face movement direction
|
||||
var input_vec = [get_axis("horizontal"), get_axis("vertical")]
|
||||
Math.normalize2D(input_vec)
|
||||
|
||||
// 2d movement physics
|
||||
_ship_acceleration = [input_vec.x * _ship_speed, input_vec.y * _ship_speed]
|
||||
_ship_velocity = [_ship_velocity.x + (_ship_acceleration.x * delta), _ship_velocity.y + (_ship_acceleration.y * delta)]
|
||||
_ship_velocity = [_ship_velocity.x * _ship_dampening, _ship_velocity.y * _ship_dampening]
|
||||
|
||||
// rotate ship in direction of movement, if input is detected (solves snap at vel=0)
|
||||
if(input_vec.x != 0 || input_vec.y != 0) {
|
||||
_ship_rotation = Math.atan2(_ship_velocity_y, _ship_velocity_x) + Math.radians(270)
|
||||
Transform.set_euler_world(_ship, 0, 0, _ship_rotation)
|
||||
}
|
||||
// rotate ship in direction of movement, if input is detected (solves snap at vel=0)
|
||||
if(input_vec.x != 0 || input_vec.y != 0) {
|
||||
var ship_rotation = Math.atan2(_ship_velocity.y, _ship_velocity.x) + Math.radians(270)
|
||||
Transform.set_euler_world(_ship, 0, 0, ship_rotation)
|
||||
}
|
||||
} //keyboard
|
||||
|
||||
if(_controls == "mouse") {
|
||||
// ship rotates to face mouse pointer, right click adds thrust in facing direction.
|
||||
// ship will slowly slow down, so you can keep traveling in one direction, but spin around to fire
|
||||
// left click fires weapon
|
||||
var mouse = Camera.screen_point_to_world(app.camera, Input.mouse_x(), Input.mouse_y())
|
||||
Transform.set_pos(_reticule, mouse.x, mouse.y)
|
||||
var ydiff = mouse.y - Transform.get_pos_y(_ship)
|
||||
var xdiff = mouse.x - Transform.get_pos_x(_ship)
|
||||
var rotation = Math.atan2(ydiff, xdiff) + Math.radians(270)
|
||||
Transform.set_euler_world(_ship, 0, 0, rotation)
|
||||
if(Input.mouse_state_down(MouseButton.right)) {
|
||||
_ship_acceleration = [xdiff, ydiff]
|
||||
Math.normalize2D(_ship_acceleration)
|
||||
_ship_acceleration = [_ship_acceleration.x * 10, _ship_acceleration.y * 10]
|
||||
_ship_velocity = [_ship_velocity.x + (_ship_acceleration.x * delta), _ship_velocity.y + (_ship_acceleration.y * delta)]
|
||||
}
|
||||
_ship_velocity = [_ship_velocity.x * _ship_dampening, _ship_velocity.y * _ship_dampening]
|
||||
|
||||
} //mouse
|
||||
|
||||
if(_controls == "controller") {
|
||||
|
||||
} //controller
|
||||
|
||||
// move ship
|
||||
Transform.translate(_ship, _ship_velocity_x, _ship_velocity_y)
|
||||
Transform.translate(_ship, _ship_velocity.x, _ship_velocity.y)
|
||||
|
||||
// update position text
|
||||
var ship_pos_x_int = Math.floor_around_zero(Transform.get_pos_x(_ship))
|
||||
|
|
@ -124,43 +182,47 @@ class Game is Ready {
|
|||
} //tick_ship
|
||||
|
||||
tick_camera(delta) {
|
||||
// move the camera, with some lerp delay, along with the ship
|
||||
// move the camera, with some lerp delay, following the ship
|
||||
var shipx = Transform.get_pos_x(_ship)
|
||||
var shipy = Transform.get_pos_y(_ship)
|
||||
var camerax = Transform.get_pos_x(app.camera)
|
||||
var cameray = Transform.get_pos_y(app.camera)
|
||||
var interpolation = 0.8
|
||||
var camera_interp_x = lerp(shipx - _cam_offset_x / 2, camerax, interpolation)
|
||||
var camera_interp_y = lerp(shipy - _cam_offset_y / 2, cameray, interpolation)
|
||||
var camera_interp_x = lerp(shipx - _cam_size_x / 2, camerax, interpolation)
|
||||
var camera_interp_y = lerp(shipy - _cam_size_y / 2, cameray, interpolation)
|
||||
Transform.set_pos(app.camera, camera_interp_x, camera_interp_y)
|
||||
} //tick_camera
|
||||
|
||||
tick_startracker(delta) {
|
||||
Transform.set_pos(_startracker, Transform.get_pos_x(app.camera) + _cam_size_x / 2, Transform.get_pos_y(app.camera) + _cam_size_y / 2)
|
||||
// System.print("[%(Transform.get_pos_x(_startracker)),%(Transform.get_pos_y(_startracker))]")
|
||||
} //tick_startracker
|
||||
|
||||
tick_starfield(delta) {
|
||||
//todo: 20191130 - found an interesting bug, where if you (while going super fast) travel out too far, and return to [0,0], the stars will be slightly misaligned. must have something to do with a floating point error while moving the stars around. Went to 25,000 out and saw a slight misalign
|
||||
// to fix, can make scrolling more accurate somehow, maybe track a stars movement and see where it gets it's error. probably when having them switch sides
|
||||
// another option is to restrict how far out the player can travel from [0,0], either with a hard limit, or some gameplay thing that makes them stay close to base
|
||||
Transform.set_pos(_star_tracker, Transform.get_pos_x(app.camera) + _cam_offset_x, Transform.get_pos_y(app.camera) + _cam_offset_y, -1)
|
||||
// loop through stars[]
|
||||
for(star in _stars) {
|
||||
Transform.set_pos_x(star, Transform.get_pos_x(star) + -_ship_velocity_x * (Sprite.get_alpha(star) * 0.5))
|
||||
Transform.set_pos_y(star, Transform.get_pos_y(star) + -_ship_velocity_y * (Sprite.get_alpha(star) * 0.5))
|
||||
star[0] = star[0] - (_ship_velocity.x * (star[5] / 10))
|
||||
star[1] = star[1] - (_ship_velocity.y * (star[5] / 10))
|
||||
|
||||
/*
|
||||
// x pos reset
|
||||
if(Transform.get_pos_x(star) > _cam_offset_x * _camera_scale) {
|
||||
Transform.set_pos_x(star, -_cam_offset_x * _camera_scale)
|
||||
if(star[0] > Transform.get_pos_x(_ship) + _cam_size_x * _camera_scale) {
|
||||
star[0] = Transform.get_pos_x(_ship) + -_cam_size_x * _camera_scale
|
||||
}
|
||||
if(Transform.get_pos_x(star) < -_cam_offset_x * _camera_scale) {
|
||||
Transform.set_pos_x(star, _cam_offset_x * _camera_scale)
|
||||
if(star[0] < Transform.get_pos_x(_ship) + -_cam_size_x * _camera_scale) {
|
||||
star[0] = Transform.get_pos_x(_ship) + _cam_size_x * _camera_scale
|
||||
}
|
||||
|
||||
// y pos reset
|
||||
if(Transform.get_pos_y(star) > _cam_offset_y * _camera_scale) {
|
||||
Transform.set_pos_y(star, -_cam_offset_y * _camera_scale)
|
||||
if(star[1] > _cam_size_y * _camera_scale) {
|
||||
star[1] = -_cam_size_y * _camera_scale
|
||||
}
|
||||
if(Transform.get_pos_y(star) < -_cam_offset_y * _camera_scale) {
|
||||
Transform.set_pos_y(star, _cam_offset_y * _camera_scale)
|
||||
if(star[1] < -_cam_size_y * _camera_scale) {
|
||||
star[1] = _cam_size_y * _camera_scale
|
||||
}
|
||||
*/
|
||||
|
||||
Draw.quad(_starfield_context, Transform.get_pos_x(_startracker) + star[0], Transform.get_pos_y(_startracker) + star[1], -2, star[2] * star[5], star[3] * star[5], star[4], [1,1,1,star[5]])
|
||||
}
|
||||
Draw.commit(_starfield_context)
|
||||
} //tick_starfield
|
||||
|
||||
// MISC
|
||||
|
|
|
|||
|
|
@ -1 +1,4 @@
|
|||
new idea for controls. left stick controls which direction you face, triggers used for thrust in that direction (left trig) and weapons (right trig). Have a slow drift/slow down. This allows you to have thrust in one direction, spin around and keep moving in that direction, but shoot behind you/strafe to the side.
|
||||
new idea for controls. left stick controls which direction you face, triggers used for thrust in that direction (left trig) and weapons (right trig). Have a slow drift/slow down. This allows you to have thrust in one direction, spin around and keep moving in that direction, but shoot behind you/strafe to the side.
|
||||
|
||||
todo: animate ship sprite
|
||||
todo: shooting
|
||||
3
image/reticule.image.lx
Normal file
3
image/reticule.image.lx
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
image = {
|
||||
source = "image/reticule.png"
|
||||
}
|
||||
BIN
image/reticule.png
Normal file
BIN
image/reticule.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 145 B |
49
log.txt
49
log.txt
|
|
@ -1,4 +1,4 @@
|
|||
luxe / Engine / Fri Sep 25 09:52:20 2020
|
||||
luxe / Engine / Sat Sep 26 16:40:48 2020
|
||||
luxe / Engine / path is `/Users/jonathan/Developer/luxe/space`
|
||||
luxe / Engine / 2020.3.0
|
||||
luxe / paths / root / located at `/Users/jonathan/.luxe`
|
||||
|
|
@ -13,26 +13,26 @@ luxe / dev / parcel / adding dependency `luxe` @ `2020.3.0`
|
|||
luxe / dev / parcel / - adding scripts from `/Users/jonathan/.luxe/modules/luxe/2020.3.0/api`
|
||||
luxe / dev / parcel / - adding assets from `/Users/jonathan/.luxe/modules/luxe/2020.3.0/assets`
|
||||
luxe / dev / images / adding unreferenced sources...
|
||||
luxe / dev / parcel / entry parcel generated in 13.72843401622958ms
|
||||
luxe / dev / parcel / entry parcel generated in 14.69384395750239ms
|
||||
luxe / dev / compiler / compiling dev content to `.luxe/` ...
|
||||
luxe / dev / compiler / luxe runtime `2020.3.0` at path `/Users/jonathan/.luxe/modules/luxe/2020.3.0` ...
|
||||
+ modifier - 0 found
|
||||
+ block - 0 found
|
||||
+ material - 12 found
|
||||
+ material - 13 found
|
||||
+ shaders - 1 found
|
||||
+ particles - 0 found
|
||||
+ settings - 1 found
|
||||
- `.luxe/entry.settings.lx` > `.luxe/.luxe/entry.settings.lx.814a19b5`
|
||||
+ script - 109 found
|
||||
- parsing 1 scripts and their imports ...
|
||||
- parsing `game.wren` - 22.7076ms
|
||||
- parsing `random` - 0.00148ms
|
||||
- parsing `game.wren` - 29.59524ms
|
||||
- parsing `random` - 0.0016ms
|
||||
- compiling 1 scripts ...
|
||||
- parsing `luxe: input` - 281.83291ms
|
||||
- parsing `luxe: io` - 4.99927ms
|
||||
- parsing `luxe/io` - 0.0013ms
|
||||
- parsing `luxe: assets` - 45.93918ms
|
||||
- compiled `game.wren` - 376.8662ms
|
||||
- parsing `luxe: assets` - 46.01129ms
|
||||
- parsing `luxe: input` - 279.94995ms
|
||||
- parsing `luxe: io` - 5.2143ms
|
||||
- parsing `luxe/io` - 0.00163ms
|
||||
- compiled `game.wren` - 374.95113ms
|
||||
+ render - 1 found
|
||||
+ tiles - 0 found
|
||||
+ font - 2 found
|
||||
|
|
@ -41,22 +41,22 @@ luxe / dev / compiler / luxe runtime `2020.3.0` at path `/Users/jonathan/.luxe/m
|
|||
+ material_basis - 13 found
|
||||
+ material_input - 0 found
|
||||
+ prototype - 0 found
|
||||
+ image - 6 found
|
||||
+ image - 7 found
|
||||
+ input - 1 found
|
||||
+ mesh - 0 found
|
||||
+ ui - 22 found
|
||||
luxe / dev / data compile times:
|
||||
- / material / spent `2.67191ms`
|
||||
- / shaders / spent `5.33388ms`
|
||||
- / font / spent `4.32393ms`
|
||||
- / material_basis / spent `1.36295ms`
|
||||
- / settings / spent `1.03035ms`
|
||||
- / script / spent `438.07279ms`
|
||||
- / image / spent `23.12202ms`
|
||||
- / input / spent `0.54995ms`
|
||||
- / render / spent `0.64896ms`
|
||||
- / ui / spent `2.51099ms`
|
||||
luxe / dev / compiler / compile complete | `168 assets` | `481.1434459988959ms`
|
||||
- / material / spent `2.89596ms`
|
||||
- / shaders / spent `5.67593ms`
|
||||
- / font / spent `25.00054ms`
|
||||
- / material_basis / spent `1.6935ms`
|
||||
- / settings / spent `1.14198ms`
|
||||
- / script / spent `444.15931ms`
|
||||
- / image / spent `4.65849ms`
|
||||
- / input / spent `0.73599ms`
|
||||
- / render / spent `0.69617ms`
|
||||
- / ui / spent `2.75271ms`
|
||||
luxe / dev / compiler / compile complete | `170 assets` | `491.2206230219454ms`
|
||||
luxe / project / info:
|
||||
- name: `space`
|
||||
- version: `0.0.1`
|
||||
|
|
@ -83,6 +83,7 @@ luxe / assets / loading `entry parcel` ...
|
|||
luxe / assets / loading / image `luxe: image/logo.sprite`
|
||||
luxe / assets / loading / image `image/asteroid`
|
||||
luxe / assets / loading / image `image/laser`
|
||||
luxe / assets / loading / image `image/reticule`
|
||||
luxe / assets / loading / image `image/ship`
|
||||
luxe / assets / loading / image `image/star`
|
||||
luxe / assets / loading / basis `luxe: material_basis/font` 3777439469
|
||||
|
|
@ -110,6 +111,7 @@ luxe / assets / loading `entry parcel` ...
|
|||
luxe / assets / loading / material `luxe: material/sprite.solid`
|
||||
luxe / assets / loading / material `material/asteroid`
|
||||
luxe / assets / loading / material `material/laser`
|
||||
luxe / assets / loading / material `material/reticule`
|
||||
luxe / assets / loading / material `material/ship`
|
||||
luxe / assets / loading / material `material/star`
|
||||
luxe / assets / loading / bytes `luxe: anim/material.track.lx`
|
||||
|
|
@ -118,6 +120,7 @@ luxe / assets / loading `entry parcel` ...
|
|||
luxe / assets / loading / bytes `_art/atlas.ase`
|
||||
luxe / assets / loading / bytes `_art/laser.ase`
|
||||
luxe / assets / loading / bytes `_art/player_ship.ase`
|
||||
luxe / assets / loading / bytes `_art/reticule.ase`
|
||||
luxe / assets / loading / bytes `_art/star.ase`
|
||||
luxe / assets / loading / bytes `ideas.txt`
|
||||
luxe / assets / loading / input `outline/inputs`
|
||||
|
|
@ -143,7 +146,7 @@ luxe / assets / loading `entry parcel` ...
|
|||
luxe / assets / loading / ui `luxe: ui/editor.panel.progress`
|
||||
luxe / assets / loading / ui `luxe: ui/editor.panel.slider`
|
||||
luxe / assets / loading / ui `luxe: ui/editor.panel.text`
|
||||
luxe / assets / loaded `entry parcel` with `66 items` in `27.47206698404625ms`
|
||||
luxe / assets / loaded `entry parcel` with `69 items` in `27.85568300168961ms`
|
||||
luxe / runtime / setting log level `info`
|
||||
luxe / assets / input / loading entry input `outline/inputs`
|
||||
luxe / render / init renderer script `outline/renderer`
|
||||
|
|
|
|||
4
material/reticule.material.lx
Normal file
4
material/reticule.material.lx
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
material = {
|
||||
basis = "luxe: material_basis/sprite_pixelated"
|
||||
inputs = { sprite.image = "image/reticule" }
|
||||
}
|
||||
Loading…
Reference in a new issue