mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-24 08:08:15 -05:00
Working on orientation
This commit is contained in:
parent
8f6d162542
commit
dc7529344c
1 changed files with 26 additions and 6 deletions
|
@ -72,28 +72,48 @@ module.exports = class CoordinateDisplay extends createjs.Container
|
|||
contentWidth = @label.getMeasuredWidth() + (2 * margin)
|
||||
contentHeight = @label.getMeasuredHeight() + (2 * margin)
|
||||
|
||||
# Shift all contents up so marker is at pointer (affects container cache position)
|
||||
@label.regY = @background.regY = @pointMarker.regY = contentHeight
|
||||
# Shift pointmarker up so it centers at pointer (affects container cache position)
|
||||
@pointMarker.regY = contentHeight
|
||||
|
||||
pointMarkerStroke = 2
|
||||
pointMarkerLength = 8
|
||||
fullPointMarkerLength = pointMarkerLength + (pointMarkerStroke / 2)
|
||||
contributionsToTotalSize = []
|
||||
contributionsToTotalSize = contributionsToTotalSize.concat @updateCoordinates contentWidth, contentHeight, pointMarkerLength
|
||||
contributionsToTotalSize = contributionsToTotalSize.concat @updateCoordinates contentWidth, contentHeight, fullPointMarkerLength
|
||||
contributionsToTotalSize = contributionsToTotalSize.concat @updatePointMarker 0, contentHeight, pointMarkerLength, pointMarkerStroke
|
||||
|
||||
totalWidth = contentWidth + contributionsToTotalSize.reduce (a, b) -> a + b
|
||||
totalHeight = contentHeight + contributionsToTotalSize.reduce (a, b) -> a + b
|
||||
|
||||
# All below is orientation dependent...
|
||||
# Effected by orientation:
|
||||
# background and label: regY and regX
|
||||
# Caching position
|
||||
# Crosshair stays in same place
|
||||
# let e := edge
|
||||
# if the :e: edge of coordinate display is outside camera :e: view, then show :e: edge orientation
|
||||
|
||||
orientationVerticalModifier = 1
|
||||
cacheY = fullPointMarkerLength
|
||||
|
||||
if true # near top edge
|
||||
orientationVerticalModifier = -orientationVerticalModifier
|
||||
cacheY = cacheY * orientationVerticalModifier
|
||||
else
|
||||
cacheY = -totalHeight + cacheY
|
||||
|
||||
@containerOverlay.graphics
|
||||
.clear()
|
||||
.beginFill('rgba(255,0,0,0.4)') # Actual position
|
||||
.drawRect(0, 0, totalWidth, totalHeight)
|
||||
.endFill()
|
||||
.beginFill('rgba(0,0,255,0.4)') # Cache position
|
||||
.drawRect(-pointMarkerLength, -totalHeight + pointMarkerLength, totalWidth, totalHeight)
|
||||
.drawRect(-fullPointMarkerLength, cacheY, totalWidth, totalHeight)
|
||||
.endFill()
|
||||
|
||||
@cache -pointMarkerLength, -totalHeight + pointMarkerLength, totalWidth, totalHeight
|
||||
@label.regY = @background.regY = (totalHeight - contentHeight) * orientationVerticalModifier
|
||||
|
||||
#@cache -fullPointMarkerLength, -totalHeight + fullPointMarkerLength, totalWidth, totalHeight
|
||||
|
||||
updateCoordinates: (contentWidth, contentHeight, initialXYOffset) ->
|
||||
offsetForPointMarker = initialXYOffset
|
||||
|
@ -135,5 +155,5 @@ module.exports = class CoordinateDisplay extends createjs.Container
|
|||
@addChild @label
|
||||
@addChild @pointMarker
|
||||
@addChild @containerOverlay # FOR TESTING - REMOVE BEFORE COMMIT
|
||||
@updateCache()
|
||||
#@updateCache()
|
||||
Backbone.Mediator.publish 'surface:coordinates-shown', {}
|
||||
|
|
Loading…
Reference in a new issue