Fixed cursor not showing up in Asset Viewer main menu, fixed Camera free move not having :turn_left/right implemented

This commit is contained in:
2020-01-30 19:53:42 -06:00
parent eb1bfe204b
commit 1b6019419b
3 changed files with 20 additions and 2 deletions

View File

@@ -116,6 +116,8 @@ class IMICFPS
relative_speed = 10.0 if InputMapper.down?(:sprint) relative_speed = 10.0 if InputMapper.down?(:sprint)
relative_speed *= window.dt relative_speed *= window.dt
turn_speed = 50.0 * window.dt
if InputMapper.down?( :forward) if InputMapper.down?( :forward)
@position.z+=Math.cos(relative_y_rotation * Math::PI / 180) * relative_speed @position.z+=Math.cos(relative_y_rotation * Math::PI / 180) * relative_speed
@position.x-=Math.sin(relative_y_rotation * Math::PI / 180) * relative_speed @position.x-=Math.sin(relative_y_rotation * Math::PI / 180) * relative_speed
@@ -136,6 +138,14 @@ class IMICFPS
@position.x-=Math.cos(relative_y_rotation * Math::PI / 180) * relative_speed @position.x-=Math.cos(relative_y_rotation * Math::PI / 180) * relative_speed
end end
if InputMapper.down?(:turn_left)
@orientation.y -= turn_speed
end
if InputMapper.down?(:turn_right)
@orientation.y += turn_speed
end
if InputMapper.down?(:ascend) if InputMapper.down?(:ascend)
@position.y+=relative_speed @position.y+=relative_speed
end end

View File

@@ -28,6 +28,12 @@ class IMICFPS
window.close window.close
end end
end end
def update
super
window.needs_cursor = true
end
end end
end end
end end

View File

@@ -5,6 +5,7 @@ class IMICFPS
attr_reader :map attr_reader :map
def setup def setup
window.needs_cursor = false
@manifest = @options[:manifest] @manifest = @options[:manifest]
if window.config.get(:debug, :use_shaders) if window.config.get(:debug, :use_shaders)
@@ -23,6 +24,7 @@ class IMICFPS
@entity.bind_model @entity.bind_model
@map.add_entity(@entity) @map.add_entity(@entity)
@map.entities.each { |e| e.backface_culling = false } @map.entities.each { |e| e.backface_culling = false }
@crosshair = Crosshair.new(color: Gosu::Color.rgba(100, 200, 255, 100))
@lights = [] @lights = []
@light = Light.new(id: available_light, position: Vector.new, diffuse: Vector.new(1, 1, 1, 1)) @light = Light.new(id: available_light, position: Vector.new, diffuse: Vector.new(1, 1, 1, 1))
@@ -42,8 +44,6 @@ class IMICFPS
end end
def draw def draw
window.show_cursor = true
color_top = Gosu::Color::GRAY color_top = Gosu::Color::GRAY
color_bottom = Gosu::Color::BLACK color_bottom = Gosu::Color::BLACK
@@ -58,6 +58,8 @@ class IMICFPS
@renderer.draw(@camera, [@light], @map.entities) @renderer.draw(@camera, [@light], @map.entities)
end end
@crosshair.draw
super super
end end