Returns a map with the provided x,y,z values converted from input to screen coordinates.

(input->screen screen {:x 10 :y 10 :z 0})
(input->screen screen 10 10)
(input->screen screen 10 10 0)
Source
(defn input->screen
  ([screen {:keys [x y z] :or {x 0 y 0 z 0} :as entity}]
    (try
      (let [^Camera camera (u/get-obj screen :camera)
            coords (m/vector-3 x y z)]
        (.unproject camera coords)
        (assoc entity
               :x (. coords x)
               :y (. coords y)
               :z (. coords z)))
      ; if there's no camera, just flip the y axis
      (catch Exception _
        (assoc entity :y (- (game :height) y)))))
  ([screen x y]
    (input->screen screen {:x x :y y}))
  ([screen x y z]
    (input->screen screen {:x x :y y :z z})))