Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Example for entity.add doesn't remotely work

The example in the web docs for entity.add doesn't work at all well. The main issue seems to be in the line that computes the entity eulerAngles, but I've not yet hammered it enough to really see what's going on. If you twiddle things just right you can see something streaking by every 180 degrees around (which happens really fast).

I'm bashing this to try to make it work, though I am tempted to start a new version, stealing the main idea. If someone has a working one, I'd love to see it.

Here's what's in the document now:


-- Lua classes can be attached to entities to customise behaviour Mover = class() function Mover:init(entity, speed) self.entity = entity self.speed = speed end function Mover:update() -- Move the entity to the right at speed meters per second self.entity.x = self.entity.x + self.speed * DeltaTime self.entity.eulerAngles = vec3(0, ElapsedTime * 90, 270) end function setup() -- Create a new craft scene scene = craft.scene() -- Create an entity and attach a Mover to make it move automatically local entity = scene:entity() entity.model = craft.model("SpaceKit:spaceCraft6") entity.scale = vec3(0.1, 0.1, 0.1) entity.x = -10 entity:add(Mover, 1.5) scene.camera.z = 20 scene.camera.eulerAngles = vec3(0,0,180) end function update(dt) scene:update(dt) end function draw() update(DeltaTime) scene:draw() end

Comments

Sign In or Register to comment.