mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 15:42:35 +00:00
added support for ruby-prof, make trees jump to nearest vertex position.
This commit is contained in:
16
i-mic-fps.rb
16
i-mic-fps.rb
@@ -63,4 +63,18 @@ require_relative "lib/window"
|
|||||||
|
|
||||||
MODEL_METER_SCALE = 0.001 # Objects exported from blender using the millimeter object scale will be close to 1 GL unit
|
MODEL_METER_SCALE = 0.001 # Objects exported from blender using the millimeter object scale will be close to 1 GL unit
|
||||||
|
|
||||||
IMICFPS::Window.new.show
|
|
||||||
|
if ARGV.join.include?("--profile")
|
||||||
|
begin
|
||||||
|
require "ruby-prof"
|
||||||
|
RubyProf.start
|
||||||
|
IMICFPS::Window.new.show
|
||||||
|
result = RubyProf.stop
|
||||||
|
printer = RubyProf::MultiPrinter.new(result)
|
||||||
|
printer.print(path: ".", profile: "profile", min_percent: 2)
|
||||||
|
rescue LoadError
|
||||||
|
puts "ruby-prof not installed!"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
IMICFPS::Window.new.show
|
||||||
|
end
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class IMICFPS
|
|||||||
def setup
|
def setup
|
||||||
bind_model(ModelLoader.new(type: :obj, file_path: "objects/biped.obj", game_object: self))
|
bind_model(ModelLoader.new(type: :obj, file_path: "objects/biped.obj", game_object: self))
|
||||||
@speed = 2.5 # meter's per second
|
@speed = 2.5 # meter's per second
|
||||||
@running_speed = 6.8
|
@running_speed = 6.8 # meter's per second
|
||||||
@old_speed = @speed
|
@old_speed = @speed
|
||||||
@mass = 72 # kg
|
@mass = 72 # kg
|
||||||
@y_velocity = 0
|
@y_velocity = 0
|
||||||
|
|||||||
@@ -2,7 +2,10 @@ class IMICFPS
|
|||||||
class Tree < GameObject
|
class Tree < GameObject
|
||||||
def setup
|
def setup
|
||||||
bind_model(ModelLoader.new(type: :obj, file_path: "objects/tree.obj", game_object: self))
|
bind_model(ModelLoader.new(type: :obj, file_path: "objects/tree.obj", game_object: self))
|
||||||
self.y = @terrain.height_at(self)
|
vert = @terrain.find_nearest_vertex(self)
|
||||||
|
self.x = vert.x
|
||||||
|
self.y = vert.y
|
||||||
|
self.z = vert.z
|
||||||
end
|
end
|
||||||
|
|
||||||
# def update
|
# def update
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ class IMICFPS
|
|||||||
@skydome = Skydome.new(scale: 0.08, backface_culling: false, auto_manage: false)
|
@skydome = Skydome.new(scale: 0.08, backface_culling: false, auto_manage: false)
|
||||||
|
|
||||||
25.times do
|
25.times do
|
||||||
p @terrain.width
|
|
||||||
Tree.new(x: rand(@terrain.width)-(@terrain.width/2.0), z: rand(@terrain.depth)-(@terrain.depth/2.0), terrain: @terrain)
|
Tree.new(x: rand(@terrain.width)-(@terrain.width/2.0), z: rand(@terrain.depth)-(@terrain.depth/2.0), terrain: @terrain)
|
||||||
end
|
end
|
||||||
# Tree.new(x: 1, z: -5, terrain: @terrain)
|
# Tree.new(x: 1, z: -5, terrain: @terrain)
|
||||||
|
|||||||
Reference in New Issue
Block a user