when showing manually-scaled prop, make its default fit the screen
This commit is contained in:
@@ -643,15 +643,23 @@
|
||||
(prop &mut :Bool autoPlaceProps true)
|
||||
|
||||
(method scaleProp [:FlxSprite prop]
|
||||
(let [propKey (_propKey prop)
|
||||
:Float scale .value (flxMovie.propScales.get propKey)]
|
||||
(when (StringTools.contains propKey "anonProp") (return))
|
||||
(unless (flxMovie.propsInScene.exists flxMovie.sceneKey)
|
||||
(dictSet flxMovie.propsInScene flxMovie.sceneKey []))
|
||||
(unless !(= -1 (.indexOf (dictGet flxMovie.propsInScene flxMovie.sceneKey) propKey))
|
||||
(.push (dictGet flxMovie.propsInScene flxMovie.sceneKey) propKey))
|
||||
(prop.scale.set scale scale)
|
||||
(prop.updateHitbox)))
|
||||
(let [propKey (_propKey prop)]
|
||||
(unless (flxMovie.propScales.exists propKey)
|
||||
// Set the initial scale so the thing fits on the screen, at least
|
||||
(prop.setGraphicSize FlxG.width)
|
||||
(prop.updateHitbox)
|
||||
(when (> prop.height FlxG.height)
|
||||
(prop.setGraphicSize 0 FlxG.height))
|
||||
(flxMovie.propScales.put propKey (new HFloat prop.scale.x)))
|
||||
|
||||
(let [:Float scale .value (flxMovie.propScales.get propKey)]
|
||||
(when (StringTools.contains propKey "anonProp") (return))
|
||||
(unless (flxMovie.propsInScene.exists flxMovie.sceneKey)
|
||||
(dictSet flxMovie.propsInScene flxMovie.sceneKey []))
|
||||
(unless !(= -1 (.indexOf (dictGet flxMovie.propsInScene flxMovie.sceneKey) propKey))
|
||||
(.push (dictGet flxMovie.propsInScene flxMovie.sceneKey) propKey))
|
||||
(prop.scale.set scale scale)
|
||||
(prop.updateHitbox))))
|
||||
|
||||
(method :Void showProp [:FlxSprite prop :StagePosition position :Appearance appearance :FlxCamera camera :Continuation cc]
|
||||
(set prop.cameras [camera])
|
||||
|
Reference in New Issue
Block a user