6.0.0 (TBD)
FlxSpritegroup
: Settingorigin
now causes members to pivot around the same point (#2981)FlxCamera
: Smoother camera lerping, particularly with non-fixed timesteps (#2922)FlxState
: Removed deprecatedswitchTo
(#2733)FlxG
: Added deprecation warning onswitchState
with instances (#2733)FlxCamera
: RemoveddefaultCameras
FlxCamera
: Fixedzoom
anddefaultZoom
so it works with values other than 1.0 (#2907)FlxBasic
: AddedgetDefaultCamera
, used in nearly all methods taking an optionalcamera
arg (#3072)
We removed many features and utilities that were previously deprecated
flixel.util.FlxPath
: New package,flixel.path.FlxPath
FlxSwipe::angle
: UseFlxSwipe.degrees
, insteadFlxAngle.angleFromFacing
: Usedegrees
inFlxDirectionFlags
, insteadFlxAngle.getCartesianCoords
: UseFlxVector.setPolarDegrees
, insteadFlxObject
(legacy directions): UseFlxDirectionFlags
, insteadFlxObject::collisonXDrag
: Typo in name corrected toFlxObject::collisionXDrag
FlxCamera::viewOffsetX/Y/Width/Height
: UseviewMarginX/Y/Top/Bottom/Left/Right
, insteadFlxTween
(legacy FlxTweenTypes): UseFlxTweenType
, insteadFlxRandom.shuffleArray
: Useshuffle
, insteadFlxPoint.rotate
: UsepivotDegrees
, insteadFlxPoint.angleBetween
: UsedegreesTo
, insteadFlxVector
: UseFlxPoint
, insteadFlxTilemap.useScaleHack
: No longer needed, due todefaultFramePadding
FlxG.signals.stateSwitched
andgameStarted
: UsepreStateSwitch
andpostGameStart
, respectivelyFlxPath
(Legacy types): UseFlxPathType
, insteadflixel.system.FlxSound
andFlxSoundGroup
: new package,flixel.sound
FlxState::switchTo
: UsestartOutro
, insteadFlxAnimation::delay
: UseframeDuration
, insteadFlxCollision.pixelPerfectPointCheck
: UseFlxSprite::pixelsOverlapPoint
, insteadFlxAnimationController.frames
: UsenumFrames
, insteadFlxAssets.FlxAngelCodeSource
: UseFlxAssets.FlxAngelCodeAsset
, insteadFlxAssets.FlxTexturePackerSource
: UseFlxTexturePackerJsonAsset
, insteadFlxUnicodeUtil
: UseUnicodeString
, instead
5.9.0 (TBD)
FlxReplay
: AddgetDuration
(#3135)InputFrontEnd
: (#3134)- Add
addInput
andaddUniqueType
to replaceadd
- add
destroyOld
arg to thereplace
method - Allow more than one instance of a certain
IFlxInputManager
type
- Add
SoundFrontEnd
: AddonVolumeChange
signal (#3148)FlxBasePath
: (#3153)- Create base class for
FlxPath
for simpler custom path following logic - Add signals
onEndReached
,onFinished
andonNodeReached
- Replacement fields:
startAt
,direction
,loopType
,target
,currentIndex
,nextIndex
,current
andnext
- Create base class for
FlxKey
: AddNONE
tofromStringMap
andtoStringMap
(#3119)FlxPreloader
: Improve documentation (#3123)FlxDrawTrianglesItem
: minor optimization (#3121)FlxTypedTilemap
: Add privatecreateTile
method for easier extension, with custom tile types (#3154)FlxState
: Improve doc forpersistentUpdate
&persistentDraw
(#3155)FlxCamera
: Improve doc (#3161)NextState
: Improve doc (#3160)FlxSprite
: Account forscale
,origin
,offset
,angle
andpixelPerfectPosition
ingetGraphicMidpoint
(#3125)- Major change to
FlxTilemap
andFlxTiles
collision (#3158)FlxTile
: Various features for allowing custom overlap/collision logic- Add dynamic methods
overlapsObject
andorientAt
with helpersorient
,orientByIndex
andorientAtByIndex
- Add
onCollide
signal, when overlaps are detected for collision purposes
- Add dynamic methods
- Tilemaps: Add various new tools and helpers to
FlxTilemap
andFlxBaseTilemap
- Added new
forEachOverlappingTile
calls a method with every tile that overlaps an object - Added new
isOverlappingTile
method, allows you to check all tiles overlapping an object - Added new
objectOverlapsTiles
to replace the now deprecatedoverlapsWithCallbacks
- Eschews
flipCallbackParams
arg, allowing better typing of both callback params - Adds
isCollision
flag to control whether the Tiles' collision callbacks are fired and allows for processing non-solid tiles
- Eschews
- Added new helpers:
getMapIndex
,getRow
,getColumn
,getTileIndex
,getTileData
,tileExists
,setTileIndex
,getColumnAt
,getRowAt
,columnExists
androwExists
FlxObject
: Add internal helpers for processing tilemaps inseparate
,updateTouchingFlags
and similar functions- Debug Drawing: Various improvements to debug drawing tilemaps
- Now honors tiles'
ignoreDrawDebug
anddebugBoundingBoxColor
fields - New
getDebugBoundingBoxColor
inFlxObject
. Meant to eventually replacedrawDebugBoundingBox
- Now honors tiles'
- Added new
FlxFlickerTween
: Fix "Unsupported recursive type" error on hl (#3170)FlxBGSprite
: Fix draw size when scale is not1.0
(#3142)
5.8.0 (April 19, 2024)
FlxBitmapText
: AddgetRenderedText
(#3120)
FlxSpriteGroup
: Fix propegation ofcameras
field to members (#3118)FlxBitmapText
: Fix wrap issues caused from kerning (#3120)
5.7.2 (April 17, 2024)
FlxSpriteGroup
: Better long term fix for members cameras (#3116)
5.7.1 (April 16, 2024)
FlxImageFrame
: Prevent null ref from destroyed graphics (#3113)FlxSpriteGroup
: Fix issue where members draw to the wrong cameras (#3113)
5.7.0 (April 16, 2024)
FlxBitmapFont
: AddedsetCharFrame
(#3037)FlxTimer
: Added staticwait
andloops
methods (#3040)FlxBasic
: Addedcontainer
field andFlxContainer
andFlxSpriteContainer
where a basic can only be in one container (#3050) (#3055) (#3068)FlxPath
: AddedcenterMode
to center onTOP_LEFT
,CENTER
,ORIGIN
and more (#3052)FlxG.plugins
: AddeddrawOnTop
field (#3057)FlxCamera
: AddedstopFade
,stopFlash
, andstopShake
(#3063)FlxRect
: AddedcontainsXY
(#3069)FlxDebugger
: Added button to toggleignoreDrawDebug
on selected objects (#3071)FlxTween
: Add tween-basedflicker()
system (#3086)FlxButton
: AddDISABLED
state (#3087)FlxBitmapFont
: Honor kerning data from BMFont files (#3035)
FlxBitmapText
: Honorscale
when changingwidth
andheight
(#3037)FlxSound
: Deprecatedsound.group
setter, avoiding recursion errors (#3041)FlxAssets
: Allow the immediate use of async images, once loaded (#3022)FlxText
: Removed references toFlxUnicodeUtil
(#3049)FlxObject
: Deprecatedhealth
andhurt
(#3065)- Added compiler flag
FLX_NO_HEALTH
to create your own replacement, if needed (#3067)
- Added compiler flag
- Prevent building debug bitmaps in release mode (#3077)
FlxUnicodeUtil
: Deprecated (#3078)- Various Changes brought up by EliteMasterEric (#3085)
FlxGraphic
: CheckisDestroyed
for better error messages when using destroyed graphicsFlxGraphic
: Prevent double destroy, and double adding of frame collectionsFlxFlicker
: Prevent doublerelease()
calls
FlxDebugger
: Updated the URL to HaxeFlixel site (#3102)
FlxKeyboard
: FixPLUS
key on windows (#3093)FlxSpriteContainer
: Fix error indestroy
(#3095)FlxSprite
: FixgetGraphicMidpoint()
(#3101)FlxPool
: Fix various point and rect pooling leaks (#3103) (#3108)FlxAtlasFrames
: Prevent errors when adding frames of size 0 (#3096)FlxSound
: Fix sound panning (#2863)
5.6.2 (February 10, 2024)
FlxBitmapFont
: Prevent crashes from missing xml fields infromAngelCode
(#3029)
5.6.1 (February 9, 2024)
FlxBitmapFont
: Downgraded crashes of missing xml fields to warnings infromAngelCode
(#3025)- Corrected documenation for the recent
FlxG.switchstate
arg changes
5.6.0 (February 2, 2024)
FlxGraphic
: AddedisDestroyed
(#2974)FlxBitmapFont
: Support for all BMFont output file types (#2949)FlxObject
: Add staticdefaultMoves
field (#2980)FlxText
: Addunderline
field (#3002)FlxBitmapText
: Addwrap
field to expand wordwrap capabilities (#2722)- Can now choose various to split words, conditionally, like if they are too long to fit in one line
- Also deprecates
wordWrap
andwrapByWord
Android
: Set the defaultappCategory
to "game" (#3009)
FlxMouse
: Made the private_cursor
field public, and renamed tocursor
(#2969)Interaction
: Changes to Flixel's Debug Pointer and Mover tools (#2964)- Hold Ctrl to drag selected objects, Shift to add to selection, Alt to remove from selection
- works better with
FlxObjects
- See detailed list of changes here
PluginFrontEnd
: Allow multiple plugins of the same type (#2952)- Add
addPlugin
,addIfUnique
andremoveAllByType
- Deprecate
add
andremoveType
- Add
- Remove compile conditionals using
FLX_DRAW_QUADS
(#2962) AseAtlas
: Set animationloops
to match Aseprite's own settings (#2963)FlxMouseEvent
: Added links to FlxMouseEvent Demo (#2961)NextState
: Allow()->FlxState
args inFlxG.switchState
andFlxGame.new
(#2997)FlxSplash
: Can now extendFlxSplash
to add custom behavior (#2997)FlxDrawQuadsItem
: Improve performance by pre-calculating alpha (#2996)FlxSpriteGroup
: Now able to follow itspath
(#3014)FlxAtlasFrames
: RemoveHash<T>
in favor ofDynamicAccess<T>
(#3015)- Various documentation (#3021) (#3012)
- Prevent crash when drawing a sprite with a destroyed graphic, by loading the placeholder logo. (#2974)
FlxG
: Fix HTML5 reflection issue wherestate.switchTo
is null (#2985)FlxBitmapText
: Defaulttext
to""
instead ofnull
(#2976)FlxPlugin
: Fix inline error on haxe 4.3.3 (#2986)FlxKeyboard
: Fix plus keybind on Mac (#2987)FlxSignal
: Fix one-time listeners not being removed on hashlink (#3004)QuadPath
: Prevent crash by avoiding divide by zero ingetCurveLength
(#3019)
5.5.0 (November 8, 2023)
FlxG
: AddedanimationTimeScale
(#2937)
FlxPool
: Use factory functions to create instances (#2934)
- Fixed errors from OpenFL 9.3.2
FlxText
: Remove warnings about potential typos (#2935)FlxText
: Regen graphic ingetScreenBounds
calls (#2942)FlxBar
: Various fixes (#2938)
5.4.1 (October 4, 2023)
- Various improvements and new features for animations (#2930)
FlxAnimation
: MakeframeDuration
andlooped
publicFlxAnimation
: AddtimeScale
(not to be confused with the same field added toFlxAnimationController
in 5.4.0)FlxAseAtlasUtils
: Use fieldsrepeat
anddirection
when creating animations from Aseprite tag data
FlxTilemap
: AdddefaultFramePadding
back (#2886)
FlxSoundTray
: Fix sound tray hide animation (#2923)
- README.md: Add Turkish translations
AssetPaths
: AddallFiles
field, and an arg inFlxAssets.buildFileReferences
to change the identifier (#2807)- Debug tools: Add ways to remove custom debug tools (#2792)
FlxG.console
: AddremoveByAlias
,removeEnum
,removeClass
,removeObject
andremoveFunction
FlxG.game.debugger.interaction
: AddremoveTool
FlxText
: AddfieldHeight
field (#2789)FlxG
: Add compiler flagFLX_NO_SAVE
to removeFlxG.save
(also counter-flagFLX_SAVE
) (#2840)FlxCamera
: AddpixelPerfectShake
field, for pixel-perfect camera shaking (#2841)LogStyle
: Allow log styles to throw errors (#2842)FlxTilemap
: addFlxTypedTilemap<T>
(#2734)FlxGroup
: Various changes (#2806)- Add
killMembers
,reviveMembers
andkeyValueIterator
- Add new searching utils
getFirst
,getLast
,getFirstIndex
,getLastIndex
,any
andevery
- Replace
getFirstNull
's loop with a simpleindexOf
check - Improve readibility and simplify loops under the hood
- Add
FlxSpriteUtil
: AddsetTint
andsetBrightness
(#2869)FlxAsepriteUtils
: New util class with various helpers (viausing FlxAsepriteUtil;
(#2860)- Added
loadAseAtlas
,addAseAtlasTagsByIndex
, andaddAseAtlasTagsByPrefix
- Added
TexturePackerAtlas
andAseAtlas
types - Added Aseprite metadata types:
AseAtlasMeta
,AseAtlasTag
,AseAtlasSlice
andAseAtlasLayer
- Deprecated
TexturePackerObject
,TexturePackerFrameData
andTexturePackerFrameRect
forTexturePackerAtlas
,TexturePackerAtlasFrame
andAtlasRect
, respectively;
- Added
FlxAtlasFrames
: Added multi-atlas capabilities withaddAtlas
andconcat
(#2772)FlxAnimationController
: addtimeScale
field to control animation speed (#2913)
FlxEase
: SimplifybounceIn
andbounceInOut
(#2788)- Fix typos in various docs (#2793)(#2799)
FlxBaseTilemap
: Log errors rather than throw exceptions insetTileProperties
with invalid args (#2815)- Add hxformat.json to published Flixel release (#2818)
FlxSprite
: Add erroneously unusedcamera
arg when callingpixelsOverlapPoint
(#2824)- Changed references to the
flash
package to theiropenfl
equivalent, whenever possible (#2832) FlxSpriteUtil
: FixcameraWrap
andcameraBound
error when camera scroll is non-0 (#2851)FlxBar
: Fix pixel perfect rendering issue (#2853)FlxText
: Trigger re-draw whentext
is set to empty string (#2846)FlxPoint
: Small doc fix (#2873)FlxAndroidKey
: Fix@:enum
deprecation warning (#2876)- Change
FlxSprite.setColorTransform
andFlxSpriteUtil.setOffsets
args from ints to floats (#2875) FlxSprite
: ChangesetGraphicSize
args from ints to floats (#2881)FlxAnimationController
: Accept float for all functions takingframeRate
(#2884)FlxCamera
: Make thefilters
array public (#2890)FlxSubState
: Destroy_bgSprite
(#2897)FlxCamera
: ImproveSCREEN_BY_SCREEN
follow mode and addbindScrollPos
method (#2903)Watch
: AllowaddFunction
to overwrite existing watches (#2902)FlxMath
: Wrap methods and imports in conditionals when in macros (#2911)- Assets: Run DeveImageOptimizer on all of HaxeFlixel's image assets (#2901)
FlxG
: AllowopenURL
to work with any URL protocol (#2877)
FlxAnimation
: Fix issue wherefinishCallback
wasn't being fired on reversed animations (#2811)FlxTilemap
: Reset buffers when loading maps a second+ time from the same instance (#2883)FlxPointer
: Fixoverlaps
calls with a specifiedcamera
arg (#2885)FlxStrip
: Fix black shapes whendrawDebug
is true (#2906)FlxBitmapText
: FixtextColor
not applied correctly (#2918)FlxCamera
: Fix camera lerping speeds on lower fps (#2920)
- Change all
@:enum abstract
toenum abstract
to prevent warnings in haxe 4.3.1 (#2790) FlxAnimation
: Prevent crash when destroying sprites in an anim callback (#2785)FlxCollision
: Fix gap increateCameraWall
(#2781)
- Dropped support for haxe 4.0 and 4.1, use 4.2.5 or higher
FlxAtlasFrames
: AddaddFrameOffset
andaddFramesOffsetByPrefix
(#2746)FlxFrame
: Addduration
(#2752)FlxAtlasFrames
: AddfromAseprite
which takes Aseprite generated Json, and honors frame duration
FlxState
: AddstartOutro
, deprecateswitchTo
(#2768)
FlxSound
andFlxSoundGroup
: Moved to theflixel.sound
package, deprecate old package (#2726)FlxBitmapText
: Addx
,y
andtext
args to constructor (#2750)FlxAtlasFrames
: TakeXml
infromSparrow
(#2751)FlxBitmapFont
: TakeXml
infromAngelCode
(#2751)FlxAnimation
: Deprecatedelay
in favor of the newframeDuration
field (#2752)FlxAnimation
andFlxColor
: Small fixes (#2755)FlxSound
: Fix doc comment (#2767)FlxSprite
: Better warnings for invalidwidth
/height
args onloadGraphic
(#2762)FlxCamera
: AllowfollowLerp
to be used withNO_DEAD_ZONE
(#2771)- Improve docs (#2777) (#2778)
FlxSave
: Fixed issue withmergeDataFrom
whereoverwrite = true
(#2738)FlxText
: FixembedFonts
getter (#2749)DebugFrontEnd
: Fixed freezing bug when pressing tab on debug (2760)LogFrontEnd
: Fixed null crashes when logging beforeFlxGame
in created (2779)FlxSave
: Fixed saves with multiple invalid characters (#2779)
FlxGamePad
: Fix various "firstPressed" functions (#2728)FlxSave
: Prevent crash when hiding debug windows, afterFlxG.save.bind
is called (#2725)FlxCamera
: remove uses of camera.camera (#2731)
FlxSave
: Fix save location on android and ios (#2718)
FlxMouse
: addeddeltaX
,deltaY
,deltaScreenX
anddeltaScreenY
(#2709)FlxCamera
: added publicview
andviewMargin
properties, deprecated old, private viewOffset fields(#2714)
FlxStrip
: allows shaders and color transforms (#2696)
FlxSpriteGroup
: FixfindMinY()
andfindMaxY()
returningx
instead ofy
(#2713)
SoundFrontEnd
: addedsoundTray
getter forFlxG.game.soundTray
(#2706)
FlxArrayUtil
: Addedswap
,swapByIndex
,safeSwap
andsafeSwapByIndex
(#2685)FlxDirectionFlags
: AddedhasAny
(#2705)
FlxPoint
: fixed math error inrotate
,pivotDegrees
andpivotRadians
(#2700)FlxObject
: fixedisTouching
andwasTouching
to check any given instead of all (#2705)
FlxAssetPaths
: Warnings involving assets will point to that asset instead of the build macro. (#2684)FlxTilemap
: HonorsFlxSprite.defaultAntialiasing
(#2688)
- Fix lime < 8 not being properly defined to FLX_NO_PITCH (#2678)
AssetPaths
: various fixes (#2680)- apply
include
/exclude
args to files, not directories - default file renamer will replace spaces with underscore
- apply
FlxKeys
: AddedSCROLL_LOCK
,NUMLOCK
,WINDOWS
,MENU
,BREAK
andNUMPADSLASH
keys (#2638)
The alpha was causing issues with CI due to haxelib issues. We're foregoing the alpha, since the new features are considiered "stable".
FlxDefines
prevent compile error when targeting lime 7 on non-sys targets (#2676)
FlxMouse
: Addedreleased
,releasedRight
andreleasedMiddle
(#2496)- Angles: Added various degree/radian specific versions of existing angle helpers (#2482)
FlxDirectionFlags
: Various helpersFlxVector
: AddedcopyTo
(#2550)FlxCollision
: AddedcalcRectEntry
andcalcRectExit
(#2480)FlxTilemap
: Overhaul to pathfinding (#2480)FlxPathfinder
: Allows customizable pathfinding algorithms for tilemapFlxPathSimplifier
: Replace findPath simplify args with a new enum- Expose previously private fields:
tileWidth
,tileHeight
,scaledTileWidth
,scaledTileHeight
,scaledWidth
, andscaledHeight
FlxBaseTilemap
: addedcalcRayEntry
andcalcRayExit
FlxPath
: various new featuresFlxPathDrawData
: addedmyFlxPath.debugDrawData
to allow custom colors and draw properties (#2480)FlxAxes
: addedx
andy
getters,NONE
value,toString
,fromString
andfromBools
methods (#2480, #2659)FlxTween
: addedShakeTween
andFlxTween.shake()
helper (#2549)WatchFrontEnd
: addedFlxG.watch.addFunction
(#2500)FlxPoint
: added binary operators+
,-
,+=
,-=
,*
, and*=
(#2557)FlxColor
: addedrgb
getter and setter (#2555)FlxSave
: addedmergeDataFrom
,mergeData
status
,isBound
andisEmpty
(#2566) (#2584)FlxAnimation
- addedloopPoint
to allow looping to a frame other than the starting frame (#2621)FlxSound
- addedpitch
to alter the playback speed (#2564)FlxSprite
- addedgetPixelAt
,getPixelAtScreen
,transformWorldToPixels
andtransformScreenToPixels
(#2640)FlxStringUtil
- addedtoTitleCase
andtoUnderscoreCase
(#2670)FlxAssets
- changed parameters tobuildFileReferences
(AffectsAssetPaths
) (#2575)- replaced
filterExtensions
arg withinclude
andexclude
args - changed
rename
arg to take the full filepath, can returnnull
to exclude
- replaced
FlxSprite
: FixedloadRotatedGraphic
to solve Mod by 0 (#2518)FlxText
: Fixed alignment issues across platforms (#2536)FlxBitmapText
: Fixed issue on non-multiline text with wordWrap disabled (#2590)FlxTypedButton
- preventonOver
sound when releasing a button (#2657)
- Collision: preserve momentum in
FlxG.collide
(#2422) - Angles: All angle utils treat right as 0 (affects
FlxSwipe
andFlxPath
) (#2482) FlxAngle
: deprecated:getCartesianCoords
,getPolarCoords
,angleFromFacing
andFlxPoint.angleBetween
(#2482)FlxTilemap
: renamedray
torayStep
added newray
with noresolution
arg (#2480)FlxPath
: move toflixel.path.FlxPath
(#2480)FlxPoint/FlxVector
: moved allFlxVector
fields and methods intoFlxPoint
(#2557)FlxSave
: changed the default save name and path to unique values based on Project.xml metadata (#2566)FlxTilemap
: ReplaceduseScaleHack
with staticdefaultFramePadding
to fix tile tearing (#2581)FlxSprite
: various improvements.FlxGame
: removed misleadingzoom
arg from constructor (#2591)FlxMouseEventManager
: Changed from a static manager to an instance. UseFlxMouseEvent
for the default manager (#2540)
- Dropped support for haxe 3, use 4.0.5 or higher
FlxAnimationController
: addedgetAnimationList
,getNameList
,exists
andrename
(#2473)FlxRect
: addedgetRotatedBounds
(#2298)FlxObject
: addedgetRotatedBounds
(#2298)FlxSprite
: addedgetScreenBounds
(#2298)FlxSpriteUtil
: addedcameraWrap
andcameraBounds
(#2298)FlxCamera
: addedgetViewRect
andcontainsRect
(#2298)
- Fixed segmentation faults on Hashlink for linux (#2487)
FlxSpriteGroup
:kill
,revive
andrevive
call the respective function on members (#2423)
FlxCollision
: improvedpixelPerfectCheck
performance, now honors scale (#2298)FlxSprite
: improvedisOnScreen
accuracy (#2298)FlxCamera
: addedputWeak
call incontainsPoint
(#2298)FlxObject
:screenCenter
defaults toXY
rather thannull
(#2441)FlxState
: Clarify restrictions in state constructors (#2479)
- Added
FlxDirectionFlags
andFlxDirection
(#2303) FlxBitmapText
: added support for unicode combining diacritical marks (#2309)FlxTextFormat
: addedleading
(#2334)FlxAction
: addedaddAndroidKey()
(#2393)FlxVector
: addedsetPolarRadians()
andsetPolarDegrees()
(#2401)
FlxAssetPaths
: fixed paths for iOS (#2345)VarTween
: fixed an error ifcancel()
is called duringonUpdate
(#2352)FlxGradient
: fixed last pixels sometimes not being filled (#2367)FlxTilemap
: fixed built-in autotile assets for HTML5 (#2402)FlxDebugger
: fixed single-character vertical text in the stats window
FlxSpriteUtil
: enableddrawRoundRectComplex()
for non-Flash targets (#2332)FlxTween
: allowedcancelTweensOf()
to cancel "grandchild" tweens (#2354)
- Compatibility with Haxe 4.2.x
FlxTween
: addedcancelTweensOf()
andcompleteTweensOf()
(#2273)FlxSound
: added anOnLoad
callback toloadStream()
(#2276)FlxState
: addedsubStateOpened
andsubStateClosed
signals (#2280)FlxG.cameras
: added aDefaultDrawTarget
argument toadd()
andsetDefaultDrawTarget()
(#2296)
FlxTween
: fixed an issue with settingstartDelay
after tween creation (#2262)FlxEmitter
: fixedmaxSize
not being set toQuantity
inmakeParticles()
(#2265)FlxBitmapFont
: fixed infinite loops caused by "farbling" in the Brave browser (#2300)
FlxG.plugins
: improved type safety forget()
andremove()
(#2292)FlxAtlasFrames
: improved animation support infromLibGdx()
(#2278)FlxBasic
: assign an incrementedID
for each created instance (#2266)FlxCamera
: deprecateddefaultCameras
in favor of default draw targets inFlxG.cameras
(#2296)
- improved rendering performance on low-end devices
FlxSplash
: addedmuted
(defaults totrue
on HTML5)FlxBaseKeyList
: addedNONE
(#2253)FlxKeyManager
: addedreleased
(#2253)FlxGamepad
:FlxText
: added support for removing partial ranges inremoveFormat()
(#2256)
FlxGamepad
: fixedpressed
not beingtrue
during the firstjustPressed
frame (#2253)FlxKeyManager
: fixedanyPressed([ANY])
not working (#2253)
- Fixed
Std.is()
deprecation warnings with Haxe 4.2
FlxGroup
: added support for specifyingcameras
(#2232)
FlxButton
: fixedmouseButtons
handling (#2246)FlxTilemap
: handle negative tile indices for allload
methods, not just CSV (#2250)FlxVirtualPad
: fixed graphic not showing up on HTML5OUYAID
: fixed button mappings (#2234)
FlxAnimation
: changedframeRate
to aFloat
(#2252)
- Compatibility with Haxe 4.0.0-rc.3
FlxAssetPaths
: added support for custom renaming (#2227)
FlxGraphicsShader
: fixed crashes on some old iOS devices (#2219)FlxG.android
:
FlxDebugger
:- disabled mouse input when the debugger interaction tool is active (#2209)
- clear the transform tool target on state switches
FlxBasePreloader
: fixed a crash on the HashLink target
- Compatibility with Haxe 4.0.0-rc.1
- Added a new
FlxAction
API /flixel.input.actions
(#1805) FlxGamepadManager
: addeddeviceConnected
anddeviceDisconnected
(#1805)FlxBitmapText
: addedclipRect
support (#2171)FlxTilemap
: added 47 tile autotiling (#2184)FlxG.signals
:FlxSave
: added support for local storage paths (#2202)FlxVector
: addedweak()
support and turned it into anabstract
(#2191)- Added blend mode support for
drawQuads()
rendering with OpenFL 8.8.0+ (#2199)
FlxFilterFrames
: fixed previousoffset
being ignored inapplyToSprite()
(#2176)FlxBitmapFont
: fixed background only being removed on Flash infromXNA()
(#2187)- Fixed
drawQuads()
rendering issues if there are color offsets, but no multipliers (#2195) - Fixed
FlxSubState
not being updated in the frame it is entered (#2204) FlxText
: fixed frame size not always being correct whenupdateHitbox()
is called (#2205)
- Fixed compatibility with OpenFL 8.5.0
FlxSoundGroup
: fixedadd()
adding sounds twice
- Added support for Lime 7
FlxTween
:- added support for tweening sub-properties like
"scale.x"
withtween()
(#2152) - added a
FlxTweenType
enum abstract and deprecated the constants inFlxTween
- added support for tweening sub-properties like
FlxSpriteGroup
: addeddirectAlpha
(#2157)FlxDebugger
: added a transform interaction tool (#2159)
FlxBitmapText
: fixed clipping issues with text using borders (#2151)FlxAssetPaths
: fixed variables with invalid Haxe identifiers being generated (#1796)FlxSpriteUtil
: fixedspaceFromBounds
inspace()
not being respected (#1963)FlxSpriteGroup
: fixed sprites not showing up again after settingalpha
to0
(#1353)
FlxSpriteUtil
: added an argument allowing to use a positioning function inspace()
(#2154)FlxG.accelerometer
: enabled accelerometer support on HTML5
- Fixed compatibility with Haxe 4.0.0-preview.4
- Fixed an issue with code completion on the Flash target in VSCode
- Added support for OpenFL 8 and Lime 6.3.0 (#2136)
- Removed support for Haxe versions < 3.4.0
- Fixed compatibility with Haxe 4 / development
FlxStringUtil
: addedgetEnumName()
(95615382)FlxG.console
: addedregisterEnum()
(24905c4b)FlxMouse
: addedjustMoved
(#2087)FlxMouseEventManager
:
FlxDebugger
console: fixed enum completion on non-Flash targets (404c16b3)FlxMouseEventManager
:FlxAssetPaths
: fixedfilterExtensions
for files with multiple dots (#2107)FlxDebugger
interaction tool: fixed custom cursors not showing on native targets (ca52e7a2)FlxDebugger
console: fixed tab not focusing the text field on native targetsFlxMath
: fixedroundDecimals()
for large inputs (#2127)FlxG.sound
: fixed sounds not being removed from the default groups on state switches (#2124)FlxBar
: fixed bars not reaching 100% by rounding (#2139)
FlxG.keys
: added arrow keys, space and tab topreventDefaultKeys
on HTML5FlxSpriteGroup
: added acamera
setter override (#2146)
FlxTween
: addedcancelChain()
(#1988)FlxMatrix
: addedtransformX()
andtransformY()
(dcc66b3)FlxCamera
: addedcontainsPoint()
(#1964)FlxSubState
: addedopenCallback
(#2023)FlxSpriteGroup
:FlxSoundGroup
: addedpause()
andresume()
(#2043)FlxDebugger
interaction tool:FlxDebugger
console: added an "Entry Type" quick watch entry (d354352)FlxStringUtil
: addedgetHost()
(#1996)FlxPoint
: addedtoVector()
(#2061)FlxGamepad
: addedgetAnalogAxes()
(#2064)FlxMouse
: added getters forjustPressedTimeInTicks
(#2070)FlxEase
: addedlinear
/smooth
/smoother
functions (#2080)
FlxAnimation
: fixed reversed animations (#1998)FlxRandom
: fixedgetObject()
not respectingstartIndex
(#2009)FlxGroup
: fixedremove()
withSplice = true
not decreasinglength
(#2010)FlxStringUtil
: fixed an issue with decimals informatMoney()
(#2011)FlxMouseEventManager
:FlxPreloader
: fixed missing assets with full DCE (764a5a8)FlxG.cameras
: fixedreset()
not removing all cameras (#2016)FlxAnimationController
: fixedflipX
/Y
not being copied incopyFrom()
(#2027)haxelib run flixel
: fixed the working directory not being passed on (61f2c20)FlxDebugger
interaction tool:FlxG.html5
: fixedplatform
detecting iPhone and iPod as "Mac" (#2052)FlxTilemap
: fixed a missing bounds check ingetTileIndexByCoords()
(#2024)FlxAnalog
: fixed mouse input withoutFLX_NO_TOUCH
(#2067)flixel.input
: fixedFloat
being used for tick values (#2071)FlxCamera
: fixed object visibility forzoom < 1
(#2003)FlxEmitter
: fixed issues withlifespan == 0
(#2074)
FlxBitmapText
: allowed negativelineSpacing
values (#1984)FlxStringUtil
: madegetDomain()
more robust (#1993, #1996)FlxG.signals
: changedgameResized
to be dispatched after camera resize (#2012)FlxAtlasFrames
: allowed passing a parsedDescription
infromTexturePackerJson()
(#2021)FlxG.watch
: optimized expression watch entries (#2004)FlxDebugger
console:FlxBasePreloader
: improved the design of the sitelock failure notice (#1994)FlxFlicker
: madestop()
public (#2084)FlxAnalog
: several fixes and improvements (#2073)
- fixed rendering with Haxe 3.4.0 and OpenFL Next
FlxG.html5
: addedplatform
andonMobile
(#1897)FlxText
: added support for multi-character markers inapplyMarkup()
(#1908)FlxG
: addedonMobile
(#1904)FlxPreloader
: added HTML5 support (#1846)FlxTweenManager
andFlxTimerManager
:FlxPath
:FlxG.cameras
: addedcameraAdded
,cameraRemoved
andcameraResized
signals (edf93b5)FlxDebugger
: added a tools panel to interact with objects (#1862)ConsoleCommands
: added astep()
command (#1910)FlxG.console
: addedstepAfterCommand
(#1910)FlxSound
:FlxMouse
: addedregisterSimpleNativeCursorData()
(73b0ff2)FlxRandom
: addedshuffle()
(#1947)WatchEntry
:FlxAnimation
: added support for changingframes
(#1967)FlxObject
: addeddebugBoundingBoxColorSolid
, -NotSolid
and -Partial
(#1847)FlxTilemap
:- Added an HTML5 template to center games horizontally (#1918)
- Added support for
haxelib run flixel
as an alias forhaxelib run flixel-tools
(#1950)
FlxBitmapText
: fixedalpha
not working (#1877)FlxEmitter
: fixed properties not being ignored if their.active
is set tofalse
(#1903)FlxCamera
:FlxTilemap
: fixed buffers not being resized on camera changes (#1801)FlxSpriteGroup
:flixel.input.gamepad.mappings
: fixed some mappings for digitized stick movements (c04ce96)FlxAtlasFrames
: fixed offset parsing for whitespace-stripped atlases infromLibGdx
(#1923)FlxKeyboard
: fixed someFlxG.debugger.toggleKeys
andFlxG.vcr.cancelKeys
not working on native (470c8e8)FlxMouse
: fixedFlxButton
presses during VCR playback (#1729)FlxSprite
:FlxCollision
: fixed an animation-related crash withFlxG.renderBlit
(#1928)FlxTimerManager
: fixed issues related to adding / removing timers inonComplete
(#1954)WatchEntry
: fixed variables being turned intoString
on Neko (#1911)FlxVector
: fixednormalize()
returning(1,0)
for(0,0)
(#1959)FlxFrame
: fixed inconsistent sorting across platforms (#1926)FlxSubState
: fixedclose()
if same instance is used in two different states (#1971)CompletionHandler
: fixed completion mid-text (#1798)
flixel.util.helpers
: changed the default value ofactive
totrue
(d863892)FlxGitSHA
: optimized for compiler completion (f5dca1d)FlxRect
: added an optionalresult
argument tointersection()
(c52b534)FlxG.debugger
: addedF2
totoggleKeys
(f3f029c)FlxRandom
: deprecatedshuffleArray()
in favor ofshuffle()
(#1947)FlxEmitter
:emitParticle()
now returns the particle (#1957)FlxG.bitmap
:FlxFramesCollection
: frame sizes are now checked and trimmed (#1966)
- fixed the check for Lime <= 2.9.1
FlxG.vcr
: added anOpenSaveDialog
argument tostopRecording()
(#1726)FlxSound
:FlxMouse:
addedenabled
FlxGamepadInputID
: added IDs for analog stick directions (#1746)FlxG.watch
: addedaddExpression()
andremoveExpression()
(#1790)Console
:- added
watch
andwatchExpression
commands (#1790) - added
Reflect
,Std
,StringTools
,Sys
,Type
andFlxTween
to default classes
- added
CompletionHandler
: added locals declared withvar
to completionWatchEntry
:- added a remove button
- added
Float
rounding (toFlxG.debugger.precision
decimals) - added support for in- / decrement of numeric values via up / down keys
- added support for moving selection to start / end via up / down keys (non-numeric values)
FlxStringUtil
: addedisNullOrEmpty()
FlxDefines
: added inverted versions of allFLX_NO
-defines (e.g.FLX_DEBUG
forFLX_NO_DEBUG
)FlxTileFrames
: addedspacing
andborder
arguments tocombineTileSets()
andcombineTileFrames()
(#1807)FlxBitmapDataUtil
: addedcopyBorderPixels()
FlxGame
:GameWidth
andGameHeight
innew()
now use the window size if set to 0 (#1811)FlxPoint
: addedscale()
(#1811)FlxBar
: addednumDivisions
FlxBaseTilemap
: addedloadMapFromGraphic()
(#1525)FlxAnimation
: added the ability to setpaused
directly (#1538)FlxTilemap
: addedantialiasing
(#1850)- Added GLSL
shader
support forFlxSprite
,FlxTilemap
,FlxBar
andFlxBitmapText
(#1848) FlxGraphic
: added an optionalCache
argument tofromFrame()
FlxG.debugger
: addedvisibilityChanged
(#1865)
FlxText
: [Flash] fixed blurry lines on multiline texts withFlxTextAlign.CENTER
(#1728)FlxSound
: fixedfadeOut()
andfadeIn()
not canceling the previous tween (#1834)FlxGamepad:
[Flash] fixed potential range errors when checking axis valuesCompletionListEntry
: fixed text width exceeding list widthFlxGame
: [HTML5] fixedticks
holding the current date's timestamp instead of ms since game startFlxCamera
: fixed background scaling forzoom < 1
on native targets (#1588)FlxBaseTilemap
: [Neko,HTML5] fixed invalid array access inoverlapsPoint()
(#1835)FlxObject
: fixedoverlapsPoint()
at x / y = 0 (#1818)FlxReplay
: fixed simultaneous recording of key and mouse input (#1739)FlxVelocity
: fixedaccelerateFromAngle()
settingmaxVelocity
to negative values (#1833)- Fixed compilation with
hscriptPos
defined (#1840) FlxDrawTilesItem
: fixednumTiles
value with color offsetsFlxBitmapFont
: fixed a crash related to incorrect UTF-8 handling (#1857)FlxAtlas
: fixed a crash when the constructor is called withpowerOfTwo == true
(#1858)FlxTween
: fixed nested tween chains (#1871)FlxTypedGroup
: fixed recursion inforEachOfType()
(#1876)Tracker
: [Neko] fixed a crash insetVisible()
(#1879)- Fixed some flixel-internal fields being accessible when they shouldn't be (#1849)
Console
: removedresetState
,switchState
andresetGame
commandsFlxArrayUtil
: optimizedflatten2DArray()
FlxSpriteUtil
: changedalphaMask()
arguments fromDynamic
toFlxGraphicAsset
(#1806)FlxG.signals
: changedpreUpdate
to be dispatched afterFlxG.elapsed
is updated (#1836)FlxG.debugger
: changeddrawDebugChanged
to be dispatched afterdrawDebug
is updatedFlxDefines
: added a check for incompatible OpenFL / Lime versions (should be < 4.0.0 / < 3.0.0 respectively)
FlxDebugger
: [HTML5] fixed version text color (#1727)FlxFlicker
/LabelValuePair
: fixed DCE issues (#1757)FlxMouse
: fixeduseSystemCursor = true
not always working with native cursor APIFlxDebugger
mouse handling fixes (#1775):- fixed
FlxMouse
'svisible
anduseSystemCursor
not being restored properly - fixed cursor disappearing after losing Console focus with native cursor API
- fixed mouse focus area of windows being too big
- fixed
FlxAnimationController
: fixedfinishCallback
firing multiple times in one frame (#1781)FlxPreloader
: [HTML5] fixed preloader not showing up (#1750)FlxStringUtil.formatMoney()
:- fixed formatting for
Amount < 0
(#1754) - fixed formatting for negative amounts
- [HTML5] fixed formatting for amounts > Int32
- fixed formatting for
- Debugger Stats window: fixed paused time being taken into account for average FPS
- Changed
static inline
vars to enums: (#998)FlxCamera
follow stylesFlxCamera
shake modesFlxText
border stylesFlxTilemap
auto-tiling optionsFlxBar
fill directionsFlxG.html5
browser types
- Moved
FlxMath
,FlxPoint
,FlxVector
,FlxRect
,FlxAngle
,FlxVelocity
andFlxRandom
toflixel.math
- Moved "typed" classes: (#1100)
FlxTypedGroup
intoFlxGroup.hx
FlxTypedSpriteGroup
intoFlxSpriteGroup.hx
FlxTypedEmitter
intoFlxEmitter.hx
FlxTypedButton
intoFlxButton.hx
- The signature of
update()
functions was changed toupdate(elapsed:Float)
. Theelapsed
argument should be used instead ofFlxG.elapsed
. (#1188)
- Added
flixel.FlxStrip
which supports rendering viadrawTriangles()
- Added an experimental rendering method using
drawTriangles()
(enabled by definingFLX_RENDER_TRIANGLE
, requiresFlxG.renderTile
to be true). - The tile renderer now uses
Tilesheet.TILE_RECT
instead ofaddTileRect()
- Renderers are now distinguished by
FlxG.renderMethod
(FlxG.renderBlit
/FlxG.renderTile
for easy access) instead of defines (FLX_RENDER_BLIT
/FLX_RENDER_TILE
). This allows for a fallback to software rendering on certain targets if hardware rendering is not available. (#1668)
- added
pixelPerfectRender
as a global setting for sprites and tilemaps (#1060) pixelPerfectRender
now defaults tofalse
withFlxG.renderTile
(#1065)bounds
->minScrollX
,maxScrollX
,minScrollY
andmaxScrollY
(null
means unbounded) (#1070)setBounds()
->setScrollBoundsRect()
(#1070)- added
setScrollBounds()
- added
targetOffset
(#1056) - added
scrollRect
sprite which crops the camera's view when the camera is scaled - camera now scales from its center, not its top left corner
followLerp
is now a range taking values from 0 to (60 / FlxG.updateFramerate
) - the closer to zero the more lerp! (#1220)- added
snapToTarget()
(#1477) fade()
: fixedFadeIn == true
not working in a fade out callback (#1666)follow()
: removed theOffset
argument (#1056)
debugger
: fixed a crash when callingaddTrackerProfile()
beforetrack()
signals
:- split
gameReset
into pre/post signals - added
preStateCreate
(#1557)
- split
android
:preventDefaultBackAction
has been replaced bypreventDefaultKeys
inputs
: addedresetOnStateSwitch
- added
FlxG.addPostProcess()
/removePostProcess()
- added
resizeWindow()
- Added
filtersEnabled
andsetFilters()
toFlxCamera
andFlxGame
(#1635) version
now includes the commit SHA via a build macro
- added
getPosition()
andgetHitbox()
- split some of
separate()
's functionality intoupdateTouchingFlags()
, allowingtouching
to be used without any separate calls (#1555) - added
path
(#1712)
- added
graphicLoaded()
getScreenXY()
->getScreenPosition()
- removed the
NewSprite
argument fromclone()
- added
clipRect
frames
->numFrames
- added
frames
which reflects the sprite's current frames collection - removed
loadGraphicFromTexture()
andloadRotatedGraphicFromTexture()
cachedGraphics
->graphic
- added
setFrames()
which allows you to save animations which already exists in the sprite colorTransform
is always instantiated- added
loadRotatedFrame()
which allows you to generate prerotated image from given frame and load it - added error message then trying to get pixels and graphic is null
drawFrame()
is no longerinline
so it can be redefined in subclasses.set_angle()
: always change the prerotated animation angle to prevent delays- removed
resetFrameBitmaps()
method, since frames don't store bitmaps anymore. Setdirty
to true to force the frame graphic to be regenerated in the next render loop. - added
useFramePixels
setColorTransform()
's offset arguments now work with drawTiles rendering on OpenFL 3.6.0+ (#1705)getFlxFrameBitmapData()
->updateFramePixels()
(#1710)
onFocus()
andonFocusLost()
no longer requireFlxG.autoPause
to be false- added
switchTo()
(#1676)
FlxAnimation
:- added
reversed
var which allows you to play animation backwards - second argument of
play()
method isReversed
now - added
flipX
andflipY
(#1670)
- added
FlxAnimationController
:curAnim
does also return animations that have finished now- removed
get()
callback
: fixed oldframeIndex
value being passed instead of the current oneadd()
now makes a copy of theFrames
array before callingsplice()
on it- fixed
finished
not being true during the last animation frame in thecallback
- added
Reversed
argument inplay()
method, which allows you to set animation's playback direction
FlxEmitter
:at()
->focusOn()
on
->emitting
- emitters and particles now use
FlxColor
instead of separate red, green, and blue values - removed
FlxEmitterExt
,FlxEmitter
now has two launch modes:CIRCLE
(the new default) andSQUARE
(#1174) - removed
xPosition
,yPosition
,life
,bounce
, and various other properties, and property setting convenience functions (see below) (#1174) - a variety of values can now be set with much greater control, via
lifespan.set()
,scale.set()
,velocity.set()
and so on (#1174) - simplified
start()
parameters (#1174) - added
angularDrag
andangularAcceleration
(#1246)
FlxParticle
: (#1174)maxLifespan
->lifespan
,lifespan
->age
, percent indicates(age / lifespan)
age
counts up (as opposed tolifespan
, which counted down)- range properties (
velocityRange
,alphaRange
) which determine particle behavior after launch - "active" flags (
alphaRange.active
,velocityRange.active
, etc) whichFlxEmitter
uses to control particle behavior
FlxGraphic
:- renamed from
CachedGraphics
and moved toflixel.graphics
- added
defaultPersist
(#1241) - added
fromAssetKey()
,fromClass()
andfromBitmapData()
bitmap
is now settable
- renamed from
FlxAtlas
:- moved to
flixel.graphics.atlas
- added
addNodeWithSpacings()
- added
minWidth
,maxWidth
,minHeight
andmaxHeight
(the size starts atmin
and grows up untilmax
as images are added) - added
powerOfTwo
(forces atlas size to a power of two) - added
allowRotation
(indicates whether added images may be rotated to save space)
- moved to
FlxNode
:- moved to
flixel.graphics.atlas
- added
getTileFrames()
andgetImageFrame()
- moved to
- Introduced a new frames collections concept replacing regions:
- added
FlxImageFrame
frames collection which contains single frame - added
FlxTileFrames
frames collection which contains frames for spritesheet, which can be generated from image region or frame (including rotated and trimmed frames) - added
FlxAtlasFrames
frames collection instead of various texture atlas loaders (likeSparrowData
andTexturePackerData
). It contains various static methods for parsing atlas files - added
FlxFilterFrames
frames collection instead ofFlxSpriteFilter
(see filters demo)
- added
- Rewrote
PxBitmapFont
and renamed it toFlxBitmapFont
. It supports AngelCode, XNA and Monospace bitmap fonts now. FlxFrame
:- doesn't store the frame's bitmapatas anymore, so
getBitmap()
and other bitmap methods have been removed - added
paint()
andpaintFlipped()
methods instead. This solution requires much less memory, but will be a bit slower. - added
flipX
andflipY
(#1591)
- doesn't store the frame's bitmapatas anymore, so
FlxTypedGroup
:FlxTypedSpriteGroup
: addediterator()
FlxSwipe
:duration
now uses seconds instead of milliseconds (#1272)FlxMouse
andFlxTouch
now extend a new common base classFlxPointer
instead ofFlxPoint
(#1099)- adds
overlaps()
toFlxMouse
- adds
FlxGamepadManager
:- better handling of disconnecting and reconnecting gamepads.
getByID()
can now returnnull
. anyButton()
now has astate
argumentglobalDeadZone
can now be 0globalDeadZone
now overshadows instead of overriding the gamepad's deadzone values
- better handling of disconnecting and reconnecting gamepads.
FlxGamepad
:- refactored gamepads to include mappings, removing the need to write separate logic for each gamepad type (#1502):
- each gamepad now has a
model
,mapping
andname
- moved the ID classes to
flixel.input.gamepad.id
- all IDs are now mapped to a value in
FlxGamepadInputID
- the previous "raw" gamepad IDs are now available via separate functions
- added
pressed
,justPressed
,justReleased
andanalog
- removed the dpad properties, they are now mapped to buttons
- added a
connected
flag - added
deadZoneMode
, circular deadzones are now supported (#1177) anyButton()
now has astate
argument- added support for WiiMote (#1563) and PS Vita (#1714) controllers
FlxKeyboard
:- added
preventDefaultKeys
for HTML5 - added an
abstract
enum for key names (FlxG.keys.anyPressed([A, LEFT])
is now possible) - the any-functions now take an Array of
FlxKey
s instead of Array of Strings (string names are still supported) - removed
FlxKey.NUMPADSLASH
(SLASH
has the same keycode)
- added
FlxMouseEventManager
:
FlxAngle
:FlxMath
:bound()
andinBounds()
now acceptnull
as values, meaning "unbounded in that direction" (#1070)wrapValue()
->wrap()
, replaced theamount
argument with a lower bound- changed
MIN_VALUE
andMAX_VALUE
toMIN_VALUE_FLOAT
andMAX_VALUE_FLOAT
, addedMAX_VALUE_INT
(#1148) - added
sinh()
(#1309) - added
fastSin()
andfastCos()
(#1534) - optimized
isEven()
andisOdd()
- added
remapToRange()
(#1633) getDistance()
->FlxPoint#distanceTo()
(#1716)
FlxPoint
:inFlxRect()
->inRect
FlxRandom
:FlxRandom
functions are now member functions, callFlxG.random
instead ofFlxRandom
(#1201)- exposed
currentSeed
as an external representation ofinternalSeed
(#1138) - removed
intRanged()
andfloatRanged()
,int()
andfloat()
now provide optional ranges (#1138) - removed
weightedGetObject()
,getObject()
now has an optionalweights
parameter (#1148) - removed
colorExt()
, try usingFlxColor
to get finer control over randomly-generated colors (#1158) - updated random number generation equation to avoid inconsistent results across platforms; may break recordings made in 3.x! (#1148)
- can now create an instance of
FlxRandom
to create deterministic pseudorandom numbers independently of HaxeFlixel core functions (e.g. particle emitters) chanceRoll()
->bool()
- added
floatNormal()
(#1251)
FlxRect
:- added
weak()
,putWeak()
,ceil()
andfloor()
containsFlxPoint()
->containsPoint()
- added
FlxVelocity
:accelerateTowards*()
-functions now only take a singlemaxSpeed
argument (instead ofx
andy
)
FlxAssets
:cacheSounds()
->FlxG.sound.cacheAll()
(#1097)- OpenFL live asset reloading is now supported (native targets)
FlxSound
Console
:- refactored the console to be powered by hscript (#1637)
- added auto-completion
- fixed focus on native targets
BaseScaleMode
: addedhorizontalAlign
andverticalAlign
RatioScaleMode#new()
: added afillScreen
option- The
FlxCamera
sprite is now scaled (instead ofFlxGame
)
- Rewrote
FlxBitmapTextField
and renamed it toFlxBitmapText
FlxText
:- added an
abstract
enum for alignment (text.alignment = CENTER;
is now possible) font
now supports font assets not embedded viaopenfl.Assets
(i.e.@:font
)font = null;
now resets it to the default font- fixed an issue where the value returned by
get_font()
wouldn't be the same as the one passed intoset_font()
- added
applyMarkup()
(#1229) - fixed issues with
borderStyle
andFlxTextFormat
on native - added
stampOnAtlas()
method, which stamps text graphic on provided atlas and loads result node's graphic into this text object - retrieving text dimensions (
width
andheight
) can now trigger text graphic regeneration (if any changes led to a dimensions change) to report the correct values borderColor
now supports alpha values / ARBG colors- fixed
setFormat()
resettingalignment
(#1629)
- added an
- Moved
FlxTextField
to flixel-addons
FlxBaseTilemap
: addedsetRect()
method which allows you to set a rectangular region of tiles to the provided indexFlxTile
: addedframe
variable which holds tile's "graphic"FlxTileblock
:- added
setTile()
andtileSprite
(#1300) - added
loadFrames()
method which allows you to use frames collection as a source of graphic
- added
FlxTilemap
:- separated rendering and logic, adding
FlxBaseTilemap
(#1101) - added
getTileIndexByCoords()
andgetTileCoordsByIndex()
- fixed a bug in
overlapsAt()
loadMap()
now treats tile indices with negative values in the map data as 0 (#1166)- added
blend
,alpha
andcolor
- added
frames
property, so you can change tilemap's graphic without reloading map loadMap()
acceptsFlxGraphic
,String
,FlxTileFrames
orBitmapData
asTileGraphic
nowloadMap()
has been split intoloadMapFromCSV()
andloadMapFromArray()
(#1292)- added
loadMapFrom2DArray()
(#1292) - added
offset
property (#1444) allowCollisions
now sets theallowCollisions
property of each tile- fixed
ray()
not detecting a collision with perfectly diagonal start and end points (#1617) findPath()
: replacedWideDiagonal
argument withDiagonalPolicy
(#1659)
- separated rendering and logic, adding
FlxTween
complete
callback parameter in options is now calledonComplete
. Its type,CompleteCallback
, is now calledTweenCallback
. (#1273)- added
onStart
andonUpdate
callback parameters in options (#1273) - fixed
active = false;
not doing anything duringonComplete()
ofLOOPING
orPINGPONG
tweens - angle tween sets sprite's angle on start now
- added
then()
andwait()
for chaining (#1614) - made
start()
public (#1692) active
is now only true when in progress
- Motion tweens:
- the original
FlxObject#immovable
value is now restored after completion
- the original
FlxAnalog
andFlxVirtualPad
now have their own atlas to reduce draw callsFlxTypedButton
:- now implements
IFlxInput
, addingpressed
,justPressed
,released
andjustReleased
- now uses animations for statuses instead of setting
frameIndex
directly for more flexibility (removesallowHighlightOnMobile
, addsstatusAnimations
) - disabling the highlight frame is now tied to
#if FLX_NO_MOUSE
instead of#if mobile
labelAlphas[FlxButton.HIGHLIGHT]
is now 1 forFLX_NO_MOUSE
set_label()
now updates the label position- added
maxInputMovement
- added
mouseButtons
to control which mouse buttons can trigger the button label
is no longer initialized if the text passed tonew()
isnull
- added
stampOnAtlas()
for draw call optimization
- now implements
- Added
FlxSpriteButton
FlxArrayUtil
:- removed
indexOf()
- moved randomness-related to
FlxRandom
(#1138)
- removed
FlxBitmapDataUtil
:- renamed from
FlxBitmapUtil
(#1118) - added
replaceColor()
(used byFlxSprite#replaceColor()
) - added
addSpacing()
- added
generateRotations()
- renamed from
FlxColor
:FlxPath
:- the original
FlxObject#immovable
value is now restored after completion active
is now only true when in progress- fixed velocity being set even if the object position matches the current node
- exposed
nodeIndex
as a read-only property - removed the
Object
argument fromstart()
, now the path has to be assigned toFlxObject#path
(#1712)
- the original
FlxPool
:- improved pooling performance (#1189)
FlxSignal
:- fixed a bug that occurred when calling
remove()
during a dispatch (#1420)
- fixed a bug that occurred when calling
FlxSpriteUtil
:drawLine()
: default settings forlineStyle
are now thickness 1 and color whitefadeIn()
andfadeOut()
now tweenalpha
instead ofcolor
- added
drawCurve()
(#1263) - removed
FillStyle
, the same functionality is now covered byFillColor
- moved
screenCenter()
toFlxObject
and changed the the arguments from two booleans to theFlxAxes
enum (#1541)
FlxTimer
:complete
->onComplete
(#1275)active
is now only true when in progress
- Added an initialization macro that aborts compilation with helpful errors when:
- targeting older SWF versions with invalid defines
- using an unsupported Haxe version
- Flixel sound assets are now being embedded via
embed="true"