FlxGamePad: Fix various "firstPressed" functions (#2728)FlxSave: Prevent crash when hiding debug windows, afterFlxG.save.bindis called (#2725)FlxCamera: remove uses of camera.camera (2731)
FlxSave: Fix save location on android and ios (#2718)
FlxMouse: addeddeltaX,deltaY,deltaScreenXanddeltaScreenY(#2709)FlxCamera: added publicviewandviewMarginproperties, deprecated old, private viewOffset fields(2714)
FlxStrip: allows shaders and color transforms (#2696)
FlxSpriteGroup: FixfindMinY()andfindMaxY()returningxinstead ofy(#2713)
SoundFrontEnd: addedsoundTraygetter forFlxG.game.soundTray(#2706)
FlxArrayUtil: Addedswap,swapByIndex,safeSwapandsafeSwapByIndex(#2685)FlxDirectionFlags: AddedhasAny(#2705)
FlxPoint: fixed math error inrotate,pivotDegreesandpivotRadians(#2700)FlxObject: fixedisTouchingandwasTouchingto 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/excludeargs to files, not directories - default file renamer will replace spaces with underscore
- apply
FlxKeys: AddedSCROLL_LOCK,NUMLOCK,WINDOWS,MENU,BREAKandNUMPADSLASHkeys (#2638)
The alpha was causing issues with CI due to haxelib issues. We're foregoing the alpha, since the new features are considiered "stable".
FlxDefinesprevent compile error when targeting lime 7 on non-sys targets (#2676)
FlxMouse: Addedreleased,releasedRightandreleasedMiddle(#2496)- Angles: Added various degree/radian specific versions of existing angle helpers (#2482)
FlxDirectionFlags: Various helpersFlxVector: AddedcopyTo(#2550)FlxCollision: AddedcalcRectEntryandcalcRectExit(#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: addedcalcRayEntryandcalcRayExit
FlxPath: various new featuresFlxPathDrawData: addedmyFlxPath.debugDrawDatato allow custom colors and draw properties (#2480)FlxAxes: addedxandygetters,NONEvalue,toString,fromStringandfromBoolsmethods (#2480, #2659)FlxTween: addedShakeTweenandFlxTween.shake()helper (#2549)WatchFrontEnd: addedFlxG.watch.addFunction(#2500)FlxPoint: added binary operators+,-,+=,-=,*, and*=(#2557)FlxColor: addedrgbgetter and setter (#2555)FlxSave: addedmergeDataFrom,mergeDatastatus,isBoundandisEmpty(#2566) (#2584)FlxAnimation- addedloopPointto allow looping to a frame other than the starting frame (#2621)FlxSound- addedpitchto alter the playback speed (#2564)FlxSprite- addedgetPixelAt,getPixelAtScreen,transformWorldToPixelsandtransformScreenToPixels(#2640)FlxStringUtil- addedtoTitleCaseandtoUnderscoreCase(#2670)FlxAssets- changed parameters tobuildFileReferences(AffectsAssetPaths) (#2575)- replaced
filterExtensionsarg withincludeandexcludeargs - changed
renamearg to take the full filepath, can returnnullto exclude
- replaced
FlxSprite: FixedloadRotatedGraphicto solve Mod by 0 (#2518)FlxText: Fixed alignment issues across platforms (#2536)FlxBitmapText: Fixed issue on non-multiline text with wordWrap disabled (#2590)FlxTypedButton- preventonOversound when releasing a button (#2657)
- Collision: preserve momentum in
FlxG.collide(#2422) - Angles: All angle utils treat right as 0 (affects
FlxSwipeandFlxPath) (#2482) FlxAngle: deprecated:getCartesianCoords,getPolarCoords,angleFromFacingandFlxPoint.angleBetween(#2482)FlxTilemap: renamedraytorayStepadded newraywith noresolutionarg (#2480)FlxPath: move toflixel.path.FlxPath(#2480)FlxPoint/FlxVector: moved allFlxVectorfields and methods intoFlxPoint(#2557)FlxSave: changed the default save name and path to unique values based on Project.xml metadata (#2566)FlxTilemap: ReplaceduseScaleHackwith staticdefaultFramePaddingto fix tile tearing (#2581)FlxSprite: various improvements.FlxGame: removed misleadingzoomarg from constructor (#2591)FlxMouseEventManager: Changed from a static manager to an instance. UseFlxMouseEventfor the default manager (#2540)
- Dropped support for haxe 3, use 4.0.5 or higher
FlxAnimationController: addedgetAnimationList,getNameList,existsandrename(#2473)FlxRect: addedgetRotatedBounds(#2298)FlxObject: addedgetRotatedBounds(#2298)FlxSprite: addedgetScreenBounds(#2298)FlxSpriteUtil: addedcameraWrapandcameraBounds(#2298)FlxCamera: addedgetViewRectandcontainsRect(#2298)
- Fixed segmentation faults on Hashlink for linux (#2487)
FlxSpriteGroup:kill,reviveandrevivecall the respective function on members (#2423)
FlxCollision: improvedpixelPerfectCheckperformance, now honors scale (#2298)FlxSprite: improvedisOnScreenaccuracy (#2298)FlxCamera: addedputWeakcall incontainsPoint(#2298)FlxObject:screenCenterdefaults toXYrather thannull(#2441)FlxState: Clarify restrictions in state constructors (#2479)
- Added
FlxDirectionFlagsandFlxDirection(#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 anOnLoadcallback toloadStream()(#2276)FlxState: addedsubStateOpenedandsubStateClosedsignals (#2280)FlxG.cameras: added aDefaultDrawTargetargument toadd()andsetDefaultDrawTarget()(#2296)
FlxTween: fixed an issue with settingstartDelayafter tween creation (#2262)FlxEmitter: fixedmaxSizenot being set toQuantityinmakeParticles()(#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 incrementedIDfor each created instance (#2266)FlxCamera: deprecateddefaultCamerasin favor of default draw targets inFlxG.cameras(#2296)
- improved rendering performance on low-end devices
FlxSplash: addedmuted(defaults totrueon HTML5)FlxBaseKeyList: addedNONE(#2253)FlxKeyManager: addedreleased(#2253)FlxGamepad:FlxText: added support for removing partial ranges inremoveFormat()(#2256)
FlxGamepad: fixedpressednot beingtrueduring the firstjustPressedframe (#2253)FlxKeyManager: fixedanyPressed([ANY])not working (#2253)
- Fixed
Std.is()deprecation warnings with Haxe 4.2
FlxGroup: added support for specifyingcameras(#2232)
FlxButton: fixedmouseButtonshandling (#2246)FlxTilemap: handle negative tile indices for allloadmethods, not just CSV (#2250)FlxVirtualPad: fixed graphic not showing up on HTML5OUYAID: fixed button mappings (#2234)
FlxAnimation: changedframeRateto 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
FlxActionAPI /flixel.input.actions(#1805) FlxGamepadManager: addeddeviceConnectedanddeviceDisconnected(#1805)FlxBitmapText: addedclipRectsupport (#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 previousoffsetbeing 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
FlxSubStatenot 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
FlxTweenTypeenum 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: fixedspaceFromBoundsinspace()not being respected (#1963)FlxSpriteGroup: fixed sprites not showing up again after settingalphato0(#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:
FlxDebuggerconsole: fixed enum completion on non-Flash targets (404c16b3)FlxMouseEventManager:FlxAssetPaths: fixedfilterExtensionsfor files with multiple dots (#2107)FlxDebuggerinteraction tool: fixed custom cursors not showing on native targets (ca52e7a2)FlxDebuggerconsole: 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 topreventDefaultKeyson HTML5FlxSpriteGroup: added acamerasetter override (#2146)
FlxTween: addedcancelChain()(#1988)FlxMatrix: addedtransformX()andtransformY()(dcc66b3)FlxCamera: addedcontainsPoint()(#1964)FlxSubState: addedopenCallback(#2023)FlxSpriteGroup:FlxSoundGroup: addedpause()andresume()(#2043)FlxDebuggerinteraction tool:FlxDebuggerconsole: 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/smootherfunctions (#2080)
FlxAnimation: fixed reversed animations (#1998)FlxRandom: fixedgetObject()not respectingstartIndex(#2009)FlxGroup: fixedremove()withSplice = truenot 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/Ynot being copied incopyFrom()(#2027)haxelib run flixel: fixed the working directory not being passed on (61f2c20)FlxDebuggerinteraction tool:FlxG.html5: fixedplatformdetecting iPhone and iPod as "Mac" (#2052)FlxTilemap: fixed a missing bounds check ingetTileIndexByCoords()(#2024)FlxAnalog: fixed mouse input withoutFLX_NO_TOUCH(#2067)flixel.input: fixedFloatbeing used for tick values (#2071)FlxCamera: fixed object visibility forzoom < 1(#2003)FlxEmitter: fixed issues withlifespan == 0(#2074)
FlxBitmapText: allowed negativelineSpacingvalues (#1984)FlxStringUtil: madegetDomain()more robust (#1993, #1996)FlxG.signals: changedgameResizedto be dispatched after camera resize (#2012)FlxAtlasFrames: allowed passing a parsedDescriptioninfromTexturePackerJson()(#2021)FlxG.watch: optimized expression watch entries (#2004)FlxDebuggerconsole: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: addedplatformandonMobile(#1897)FlxText: added support for multi-character markers inapplyMarkup()(#1908)FlxG: addedonMobile(#1904)FlxPreloader: added HTML5 support (#1846)FlxTweenManagerandFlxTimerManager:FlxPath:FlxG.cameras: addedcameraAdded,cameraRemovedandcameraResizedsignals (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, -NotSolidand -Partial(#1847)FlxTilemap:- Added an HTML5 template to center games horizontally (#1918)
- Added support for
haxelib run flixelas an alias forhaxelib run flixel-tools(#1950)
FlxBitmapText: fixedalphanot working (#1877)FlxEmitter: fixed properties not being ignored if their.activeis 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.toggleKeysandFlxG.vcr.cancelKeysnot working on native (470c8e8)FlxMouse: fixedFlxButtonpresses 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 intoStringon 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 ofactivetotrue(d863892)FlxGitSHA: optimized for compiler completion (f5dca1d)FlxRect: added an optionalresultargument tointersection()(c52b534)FlxG.debugger: addedF2totoggleKeys(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 anOpenSaveDialogargument tostopRecording()(#1726)FlxSound:FlxMouse:addedenabledFlxGamepadInputID: added IDs for analog stick directions (#1746)FlxG.watch: addedaddExpression()andremoveExpression()(#1790)Console:- added
watchandwatchExpressioncommands (#1790) - added
Reflect,Std,StringTools,Sys,TypeandFlxTweento default classes
- added
CompletionHandler: added locals declared withvarto completionWatchEntry:- added a remove button
- added
Floatrounding (toFlxG.debugger.precisiondecimals) - 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_DEBUGforFLX_NO_DEBUG)FlxTileFrames: addedspacingandborderarguments tocombineTileSets()andcombineTileFrames()(#1807)FlxBitmapDataUtil: addedcopyBorderPixels()FlxGame:GameWidthandGameHeightinnew()now use the window size if set to 0 (#1811)FlxPoint: addedscale()(#1811)FlxBar: addednumDivisionsFlxBaseTilemap: addedloadMapFromGraphic()(#1525)FlxAnimation: added the ability to setpauseddirectly (#1538)FlxTilemap: addedantialiasing(#1850)- Added GLSL
shadersupport forFlxSprite,FlxTilemap,FlxBarandFlxBitmapText(#1848) FlxGraphic: added an optionalCacheargument 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] fixedticksholding the current date's timestamp instead of ms since game startFlxCamera: fixed background scaling forzoom < 1on 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()settingmaxVelocityto negative values (#1833)- Fixed compilation with
hscriptPosdefined (#1840) FlxDrawTilesItem: fixednumTilesvalue 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,switchStateandresetGamecommandsFlxArrayUtil: optimizedflatten2DArray()FlxSpriteUtil: changedalphaMask()arguments fromDynamictoFlxGraphicAsset(#1806)FlxG.signals: changedpreUpdateto be dispatched afterFlxG.elapsedis updated (#1836)FlxG.debugger: changeddrawDebugChangedto be dispatched afterdrawDebugis 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 = truenot always working with native cursor APIFlxDebuggermouse handling fixes (#1775):- fixed
FlxMouse'svisibleanduseSystemCursornot 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: fixedfinishCallbackfiring 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 inlinevars to enums: (#998)FlxCamerafollow stylesFlxCamerashake modesFlxTextborder stylesFlxTilemapauto-tiling optionsFlxBarfill directionsFlxG.html5browser types
- Moved
FlxMath,FlxPoint,FlxVector,FlxRect,FlxAngle,FlxVelocityandFlxRandomtoflixel.math - Moved "typed" classes: (#1100)
FlxTypedGroupintoFlxGroup.hxFlxTypedSpriteGroupintoFlxSpriteGroup.hxFlxTypedEmitterintoFlxEmitter.hxFlxTypedButtonintoFlxButton.hx
- The signature of
update()functions was changed toupdate(elapsed:Float). Theelapsedargument should be used instead ofFlxG.elapsed. (#1188)
- Added
flixel.FlxStripwhich supports rendering viadrawTriangles() - Added an experimental rendering method using
drawTriangles()(enabled by definingFLX_RENDER_TRIANGLE, requiresFlxG.renderTileto be true). - The tile renderer now uses
Tilesheet.TILE_RECTinstead ofaddTileRect() - Renderers are now distinguished by
FlxG.renderMethod(FlxG.renderBlit/FlxG.renderTilefor 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
pixelPerfectRenderas a global setting for sprites and tilemaps (#1060) pixelPerfectRendernow defaults tofalsewithFlxG.renderTile(#1065)bounds->minScrollX,maxScrollX,minScrollYandmaxScrollY(nullmeans unbounded) (#1070)setBounds()->setScrollBoundsRect()(#1070)- added
setScrollBounds() - added
targetOffset(#1056) - added
scrollRectsprite which crops the camera's view when the camera is scaled - camera now scales from its center, not its top left corner
followLerpis now a range taking values from 0 to (60 / FlxG.updateFramerate) - the closer to zero the more lerp! (#1220)- added
snapToTarget()(#1477) fade(): fixedFadeIn == truenot working in a fade out callback (#1666)follow(): removed theOffsetargument (#1056)
debugger: fixed a crash when callingaddTrackerProfile()beforetrack()signals:- split
gameResetinto pre/post signals - added
preStateCreate(#1557)
- split
android:preventDefaultBackActionhas been replaced bypreventDefaultKeysinputs: addedresetOnStateSwitch- added
FlxG.addPostProcess()/removePostProcess() - added
resizeWindow() - Added
filtersEnabledandsetFilters()toFlxCameraandFlxGame(#1635) versionnow includes the commit SHA via a build macro
- added
getPosition()andgetHitbox() - split some of
separate()'s functionality intoupdateTouchingFlags(), allowingtouchingto be used without any separate calls (#1555) - added
path(#1712)
- added
graphicLoaded() getScreenXY()->getScreenPosition()- removed the
NewSpriteargument fromclone() - added
clipRect frames->numFrames- added
frameswhich 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 colorTransformis 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 longerinlineso 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. Setdirtyto 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.autoPauseto be false- added
switchTo()(#1676)
FlxAnimation:- added
reversedvar which allows you to play animation backwards - second argument of
play()method isReversednow - added
flipXandflipY(#1670)
- added
FlxAnimationController:curAnimdoes also return animations that have finished now- removed
get() callback: fixed oldframeIndexvalue being passed instead of the current oneadd()now makes a copy of theFramesarray before callingsplice()on it- fixed
finishednot being true during the last animation frame in thecallback - added
Reversedargument inplay()method, which allows you to set animation's playback direction
FlxEmitter:at()->focusOn()on->emitting- emitters and particles now use
FlxColorinstead of separate red, green, and blue values - removed
FlxEmitterExt,FlxEmitternow 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
angularDragandangularAcceleration(#1246)
FlxParticle: (#1174)maxLifespan->lifespan,lifespan->age, percent indicates(age / lifespan)agecounts up (as opposed tolifespan, which counted down)- range properties (
velocityRange,alphaRange) which determine particle behavior after launch - "active" flags (
alphaRange.active,velocityRange.active, etc) whichFlxEmitteruses to control particle behavior
FlxGraphic:- renamed from
CachedGraphicsand moved toflixel.graphics - added
defaultPersist(#1241) - added
fromAssetKey(),fromClass()andfromBitmapData() bitmapis now settable
- renamed from
FlxAtlas:- moved to
flixel.graphics.atlas - added
addNodeWithSpacings() - added
minWidth,maxWidth,minHeightandmaxHeight(the size starts atminand grows up untilmaxas 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
FlxImageFrameframes collection which contains single frame - added
FlxTileFramesframes collection which contains frames for spritesheet, which can be generated from image region or frame (including rotated and trimmed frames) - added
FlxAtlasFramesframes collection instead of various texture atlas loaders (likeSparrowDataandTexturePackerData). It contains various static methods for parsing atlas files - added
FlxFilterFramesframes collection instead ofFlxSpriteFilter(see filters demo)
- added
- Rewrote
PxBitmapFontand 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
flipXandflipY(#1591)
- doesn't store the frame's bitmapatas anymore, so
FlxTypedGroup:FlxTypedSpriteGroup: addediterator()
FlxSwipe:durationnow uses seconds instead of milliseconds (#1272)FlxMouseandFlxTouchnow extend a new common base classFlxPointerinstead ofFlxPoint(#1099)- adds
overlaps()toFlxMouse
- adds
FlxGamepadManager:- better handling of disconnecting and reconnecting gamepads.
getByID()can now returnnull. anyButton()now has astateargumentglobalDeadZonecan now be 0globalDeadZonenow 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,mappingandname - 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,justReleasedandanalog - removed the dpad properties, they are now mapped to buttons
- added a
connectedflag - added
deadZoneMode, circular deadzones are now supported (#1177) anyButton()now has astateargument- added support for WiiMote (#1563) and PS Vita (#1714) controllers
FlxKeyboard:- added
preventDefaultKeysfor HTML5 - added an
abstractenum for key names (FlxG.keys.anyPressed([A, LEFT])is now possible) - the any-functions now take an Array of
FlxKeys instead of Array of Strings (string names are still supported) - removed
FlxKey.NUMPADSLASH(SLASHhas the same keycode)
- added
FlxMouseEventManager:
FlxAngle:FlxMath:bound()andinBounds()now acceptnullas values, meaning "unbounded in that direction" (#1070)wrapValue()->wrap(), replaced theamountargument with a lower bound- changed
MIN_VALUEandMAX_VALUEtoMIN_VALUE_FLOATandMAX_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:FlxRandomfunctions are now member functions, callFlxG.randominstead ofFlxRandom(#1201)- exposed
currentSeedas an external representation ofinternalSeed(#1138) - removed
intRanged()andfloatRanged(),int()andfloat()now provide optional ranges (#1138) - removed
weightedGetObject(),getObject()now has an optionalweightsparameter (#1148) - removed
colorExt(), try usingFlxColorto 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
FlxRandomto 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 singlemaxSpeedargument (instead ofxandy)
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: addedhorizontalAlignandverticalAlignRatioScaleMode#new(): added afillScreenoption- The
FlxCamerasprite is now scaled (instead ofFlxGame)
- Rewrote
FlxBitmapTextFieldand renamed it toFlxBitmapText FlxText:- added an
abstractenum for alignment (text.alignment = CENTER;is now possible) fontnow 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
borderStyleandFlxTextFormaton native - added
stampOnAtlas()method, which stamps text graphic on provided atlas and loads result node's graphic into this text object - retrieving text dimensions (
widthandheight) can now trigger text graphic regeneration (if any changes led to a dimensions change) to report the correct values borderColornow supports alpha values / ARBG colors- fixed
setFormat()resettingalignment(#1629)
- added an
- Moved
FlxTextFieldto flixel-addons
FlxBaseTilemap: addedsetRect()method which allows you to set a rectangular region of tiles to the provided indexFlxTile: addedframevariable 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,alphaandcolor - added
framesproperty, so you can change tilemap's graphic without reloading map loadMap()acceptsFlxGraphic,String,FlxTileFramesorBitmapDataasTileGraphicnowloadMap()has been split intoloadMapFromCSV()andloadMapFromArray()(#1292)- added
loadMapFrom2DArray()(#1292) - added
offsetproperty (#1444) allowCollisionsnow sets theallowCollisionsproperty of each tile- fixed
ray()not detecting a collision with perfectly diagonal start and end points (#1617) findPath(): replacedWideDiagonalargument withDiagonalPolicy(#1659)
- separated rendering and logic, adding
FlxTweencompletecallback parameter in options is now calledonComplete. Its type,CompleteCallback, is now calledTweenCallback. (#1273)- added
onStartandonUpdatecallback parameters in options (#1273) - fixed
active = false;not doing anything duringonComplete()ofLOOPINGorPINGPONGtweens - angle tween sets sprite's angle on start now
- added
then()andwait()for chaining (#1614) - made
start()public (#1692) activeis now only true when in progress
- Motion tweens:
- the original
FlxObject#immovablevalue is now restored after completion
- the original
FlxAnalogandFlxVirtualPadnow have their own atlas to reduce draw callsFlxTypedButton:- now implements
IFlxInput, addingpressed,justPressed,releasedandjustReleased - now uses animations for statuses instead of setting
frameIndexdirectly for more flexibility (removesallowHighlightOnMobile, addsstatusAnimations) - disabling the highlight frame is now tied to
#if FLX_NO_MOUSEinstead of#if mobile labelAlphas[FlxButton.HIGHLIGHT]is now 1 forFLX_NO_MOUSEset_label()now updates the label position- added
maxInputMovement - added
mouseButtonsto control which mouse buttons can trigger the button labelis 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#immovablevalue is now restored after completion activeis now only true when in progress- fixed velocity being set even if the object position matches the current node
- exposed
nodeIndexas a read-only property - removed the
Objectargument 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 forlineStyleare now thickness 1 and color whitefadeIn()andfadeOut()now tweenalphainstead ofcolor- added
drawCurve()(#1263) - removed
FillStyle, the same functionality is now covered byFillColor - moved
screenCenter()toFlxObjectand changed the the arguments from two booleans to theFlxAxesenum (#1541)
FlxTimer:complete->onComplete(#1275)activeis 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"