 
   playAction: (action) ->
     @currentAction = action
+    return @hide() unless action.animation or action.container or action.relatedActions
+    @show()
     return @updateActionDirection() unless action.animation or action.container
     m = if action.container then "gotoAndStop" else "gotoAndPlay"
     @imageObject[m] action.name

    if @currentRootAction.name is 'move' and action.frames
      start = Math.floor(Math.random() * action.frames.length)
      @imageObject.currentAnimationFrame = start

  update: ->
    # Gets the sprite to reflect what the current state of the thangs and surface are

    @imageObject.scaleY = @originalScaleY * scaleY * scaleFactor

  updateAlpha: ->
    @imageObject.alpha = if @hiding then 0 else 1
    return unless @thang?.alpha?
    @imageObject.alpha = @thang.alpha
    if @options.showInvisible
