Guest User

Untitled

a guest
Oct 18th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.31 KB | None | 0 0
  1. (defclass sprite ()
  2.   ((resource-keyword
  3.     :initarg :resource-keyword
  4.     :accessor sprite-resource-keyword
  5.     :initform (error "Every sprite needs a resource keyword"))))
  6.  
  7.  
  8. (defclass sprite-sheet-sprite (sprite)
  9.   ((x :accessor x :initarg :x
  10.       :initform (error "Every sprite-sheet-sprite needs an x-offset `x'."))
  11.    (y :accessor y :initarg :y
  12.       :initform (error "Every sprite-sheet-sprite needs a y-offset `y'."))
  13.    (w :accessor w :initarg :w
  14.       :initform (error "Every sprite-sheet-sprite needs a width `w'."))
  15.    (h :accessor h :initarg :h
  16.       :initform (error "Every sprite-sheet-sprite needs a height `h'."))
  17.    (tile-size :accessor tile-size
  18.               :initarg :tile-size
  19.               :initform (error "Every sprite-sheet-sprite needs a `tile-size'."))
  20.    (sprite-sheet :initarg :sprite-sheet
  21.                  :initform (error "Every sprite-sheet-sprite needs a `sprite-sheet'")
  22.                  :documentation "This is a keyword, which specifies which resource to refer to.")))
  23.  
  24. (defmethod initialize-instance :after ((sss sprite-sheet-sprite) &key)
  25.   )
  26.  
  27.  
  28. (defun make-sprite-sheet-sprite (x y w h tile-size sprite-sheet)
  29.   (make-instance 'sprite-sheet-sprite
  30.                  :x x :y y :w w :h h
  31.                  :tile-size tile-size
  32.                  :sprite-sheet sprite-sheet))
Add Comment
Please, Sign In to add comment