added left jet model animation and action
This commit is contained in:
parent
75e3aea0ea
commit
527182c71b
12
engine.lisp
12
engine.lisp
|
@ -95,5 +95,13 @@
|
||||||
; ((32 64 2) (32 132 2) (32 164 2))
|
; ((32 64 2) (32 132 2) (32 164 2))
|
||||||
; ((0 255 2) (0 255 2) (64 255 2))))
|
; ((0 255 2) (0 255 2) (64 255 2))))
|
||||||
|
|
||||||
;(defparameter *jet-vertices*
|
(defparameter *left-jet-vertices*
|
||||||
; '((0 0 -0.2) (-0.2 0 0.2) (0.2 0 0.2) (0 (0 0.4 1) 0)))
|
(make-thruster-vertices
|
||||||
|
(rotate-points (transform-points *3pyramid-points* (vector 0.25 0.25 0.2)) (vector (- (+ (/ pi 2) .5)) 0 .5))
|
||||||
|
(rotate-points (transform-points *3pyramid-points* (vector 0.25 0.25 0.4)) (vector (- (+ (/ pi 2) .5)) 0 .5))
|
||||||
|
2))
|
||||||
|
|
||||||
|
(defparameter *left-jet-colors*
|
||||||
|
(make-thruster-colors '(40 40 40) '(255 255 0) '(80 80 80) '(255 255 255) 2))
|
||||||
|
; (make-thruster-colors '(196 196 196) '(255 255 196) '(196 196 196) '(255 255 255) 2))
|
||||||
|
|
||||||
|
|
|
@ -65,10 +65,6 @@
|
||||||
(case key
|
(case key
|
||||||
((:sdl-key-w) ; + z
|
((:sdl-key-w) ; + z
|
||||||
(activate-attachment *self* :thruster (wall-time)))
|
(activate-attachment *self* :thruster (wall-time)))
|
||||||
; (progn
|
|
||||||
;(setf (aref (acceleration (motion *self*)) 2) (- *acceleration*))
|
|
||||||
;(engine-start (engine *self*) (wall-time))))
|
|
||||||
; (activate-engine *self* :thrust)))
|
|
||||||
|
|
||||||
; ((:sdl-key-s) ; - z
|
; ((:sdl-key-s) ; - z
|
||||||
; (setf (aref (acceleration (motion *self*)) 2) *acceleration*))
|
; (setf (aref (acceleration (motion *self*)) 2) *acceleration*))
|
||||||
|
@ -78,19 +74,15 @@
|
||||||
; (setf (aref (acceleration (motion *self*)) 0) (- *acceleration*)))
|
; (setf (aref (acceleration (motion *self*)) 0) (- *acceleration*)))
|
||||||
; ((:sdl-key-e) ; + y
|
; ((:sdl-key-e) ; + y
|
||||||
; (setf (aref (acceleration (motion *self*)) 1) *acceleration*))
|
; (setf (aref (acceleration (motion *self*)) 1) *acceleration*))
|
||||||
; ((:sdl-key-d) ; - y
|
((:sdl-key-d) ; - y
|
||||||
; (setf (aref (acceleration (motion *self*)) 1) (- *acceleration*)))
|
(activate-attachment *self* :left-jet (wall-time)))
|
||||||
(otherwise (format t "~a~%" key))))
|
(otherwise (format t "~a~%" key))))
|
||||||
|
|
||||||
(defun thruster-off (key)
|
(defun thruster-off (key)
|
||||||
(case key
|
(case key
|
||||||
((:sdl-key-w) ; + z
|
((:sdl-key-w) ; + z
|
||||||
(deactivate-attachment *self* :thruster))
|
(deactivate-attachment *self* :thruster))
|
||||||
; (progn
|
;((:sdl-key-s) ; - z
|
||||||
; (setf (aref (acceleration (motion *self*)) 2) 0)
|
|
||||||
; (engine-stop (engine *self*))))
|
|
||||||
|
|
||||||
;((:sdl-key-s) ; - z
|
|
||||||
; (setf (aref (acceleration (motion *self*)) 2) 0))
|
; (setf (aref (acceleration (motion *self*)) 2) 0))
|
||||||
;((:sdl-key-q) ; + q
|
;((:sdl-key-q) ; + q
|
||||||
; (setf (aref (acceleration (motion *self*)) 0) 0))
|
; (setf (aref (acceleration (motion *self*)) 0) 0))
|
||||||
|
@ -98,8 +90,8 @@
|
||||||
; (setf (aref (acceleration (motion *self*)) 0) 0))
|
; (setf (aref (acceleration (motion *self*)) 0) 0))
|
||||||
;((:sdl-key-e) ; + e
|
;((:sdl-key-e) ; + e
|
||||||
; (setf (aref (acceleration (motion *self*)) 1) 0))
|
; (setf (aref (acceleration (motion *self*)) 1) 0))
|
||||||
;((:sdl-key-d) ; - d
|
((:sdl-key-d) ; - d
|
||||||
; (setf (aref (acceleration (motion *self*)) 1) 0))
|
(deactivate-attachment *self* :left-jet))
|
||||||
(otherwise (format t "~a~%" key))))
|
(otherwise (format t "~a~%" key))))
|
||||||
|
|
||||||
(defun phys-step (time)
|
(defun phys-step (time)
|
||||||
|
@ -190,6 +182,17 @@
|
||||||
|
|
||||||
:body (make-instance 'body
|
:body (make-instance 'body
|
||||||
:coords (vector 0 0 1.5)))
|
:coords (vector 0 0 1.5)))
|
||||||
|
:left-jet
|
||||||
|
(make-instance 'engine-object
|
||||||
|
:activation-time 2
|
||||||
|
:model (make-instance 'engine-model
|
||||||
|
:template-vertices *left-jet-vertices*
|
||||||
|
:template-colors *left-jet-colors*
|
||||||
|
:faces (make-2d-array 4 3 '((0 1 3) (0 2 1) (0 3 2) (1 2 3)))
|
||||||
|
:face-colors (make-2d-array 4 3 '((0 1 3) (0 2 1) (0 3 2) (1 2 3))))
|
||||||
|
:force (make-instance 'force :newtons 2000 :direction (vector 1 0 0))
|
||||||
|
:body (make-instance 'body
|
||||||
|
:coords (vector -.5 .2 0)))
|
||||||
; yaw (starboard (right) positive)
|
; yaw (starboard (right) positive)
|
||||||
; :pos-yaw
|
; :pos-yaw
|
||||||
; (make-instance 'engine-object
|
; (make-instance 'engine-object
|
||||||
|
|
Loading…
Reference in New Issue