Version 0.9.3 Branch

Official announcements can be found here.

Version 0.9.3 Branch

Postby Arkeus » Sun Nov 18, 2012 1:37 am

I've created a separate github branch for starting progress on version 0.9.3. I'll keep this topic updated with the full current patch notes, and post when I add something to this branch. This will let you guys try out anything new I add and give feedback as I go. I can't progress any quicker work than has been happening, but I'm trying. :)

## 0.9.3 / 2013-??-??
* AxTilemaps are now split into segments, and you should be able to create arbitrarily big tilemaps now
* Added a flash() camera effect (implemented using the fade effect)
* Added a debug console, all messages via Ax.logger.(info/warn/error) are placed there
* Added three debug console layouts that you can use
* Added a resize() method to AxText to resize the text without creating a new one (TODO: make it a setter for width?)
* The create() method of your main state is now called before your first state is initialized
* Camera effect offset is now stored separately from position
* AxClouds are now properly affected by the scroll attribute
* Added a second optional parameter to AxGroup.add to allow you not to inherit the scroll factor
* General logger added, you can now log to Ax.logger.log/warn/error which will log to browser console in addition to trace, when available
* The default background color is now gray rather than white
* Added a reset method to AxCache
* You can now pass an array of arrays to AxTilemap.build in addition to passing a CSV
* Added the ability to define a text limit strategy to limit the number of lines that are drawn in a text
* Added an AxTilemap.getTileIndexAt to get the tile id at a given position without having to go through AxTile
* Fixed an issue where the shake screen effect was being affected by the scroll attribute
* Fixed an issue where scaled sprites could be rendering 1 pixel off
* Fixed an issue where the screen attribute of an AxSprite wasn't set until the first update after creation
* Fixed an issue where removing an entity that doesn't belong to an AxGroup was incorrect
* Fixed an issue where setTile wouldn't update the tiles array when changing an existing tile
* Fixed an issue where fps was greater than requested fps in the debugger display (cosmetic change)
* Fixed an issue where the external logger could prevent the game from loading
* Fixed a text width issue that could cause text to be slightly longer than the requested width
* Fixed an issue where if you bounded the camera to an area smaller than the screen the screen would flicker
* Made the fade effect more accurate

## 0.9.3 beta / 2013-01-22
* Entities now have a simple parenting system. When adding to groups, its parent will be set and position based off of the parent
* To support parenting, entities now have setParent and removeParent functionality (note: collision does not support parent offsets yet)
* Positions on entities with parents are now relative to the parent, to support this, globalX and globalY setters have been added to AxEntity
* When the game loses focus it now switched to a default pause screen. This can be changed via Ax.pauseState
* You can now define a callback for animations that is called when (and every time) the animation completes
* AxClouds now update their position based on acceleration, velocity, and drag, affecting all children positions
* Simple animation set has been added to AxSprite, accessible via addEffect() and clearEffects()
* AxSprites now implement the following effects:
** sprite.startFlicker() and sprite.stopFlicker()
** sprite.fadeIn() and sprite.fadeOut()
** sprite.grow() for scaling up and down over time
* AxClouds now have freeze() and unfreeze() methods to alias settings actions to NONE and ALL, respectively
* AxClouds and AxGroups now have a clear() method that will clear the group of all members, optionally disposing them
* AxEntitys now have a revive() function that mirrors the destroy() functionality by setting exists to true
* AxParallaxSprite is a new type of sprite that repeats itself as it scrolls with the camera, useful for parallax backgrounds
* You can now set the blend mode of AxSprites, AxTexts, and AxClouds using the blend property
* All entities now have an addTimer functionality for creating events that are delayed, or events that repeat every X seconds
* You can now set the scroll on an AxGroup and have it affect all entities current and future (with some caveats, see documentation)
* Added helper functions noScroll() to AxGroup and AxModel to cover the common use case of setting scroll.x and scroll.y to 0
* AxStates now include an onPause() and onResume() that fire when they lose/gain focus from adding/popping states
* AxEntity now have a stop() function that sets horizontal, vertical, and angular components of velocity to 0
* When setting a color using @[] notation in AxText, you can use html codes as rrggbb or aarrggbb (eg. @[ff0000] instead of @[255,0,0] for red)
* You can now pass a vertical offset for the label when calling text() on an AxButton
* You can now set the offset property of the camera to offset the camera by a fixed amount
* The camera now has the following effects available:
** Ax.camera.shake - shakes the camera
** Ax.camera.fade/fadeOut/fadeIn - fades the camera in/out to a color
* AxGroup constructor no longer takes a width and height
* The debugger menu now displays the size of the state stack in brackets on the bottom right
* Fixed an issue with AxSprite when you do not load a resource
* Fixed an issue where the center of sprites were not being updated if you moved manually rather than using velocity
* Fixed an issue where screen coordinates were incorrect at non-default scroll values
* Fixed incorrect positions of AxText objects with scale != 1 when alignment was "center" or "right"
* Fixed an issue with AxText not properly getting width and height set
* Fixed an issue where the screen coordinates of the mouse weren't correctly taking into account the zoom level
* Fixed an issue where releaseAll on an input would cause everything to be justReleased rather than resetting the input
* Fixed an AxText width issue where the width is equal to the greatest width since creation
* Fixed an issue where destroy events on sounds/music were attached to the wrong object
* Fixed an issue where the sounds group would never be cleaned up, using unnecessary memory
* Fixed an issue where the centers of objects weren't being updated for stationary objects
* Fixed an issue where the center of an object recently affected by a world bound check would be incorrect
Image
User avatar
Arkeus
Site Admin
 
Posts: 363
Joined: Mon Mar 26, 2012 12:43 am

Re: Version 0.9.3 Branch

Postby Arkeus » Sun Nov 18, 2012 5:12 pm

Updated with further changes. Added a parenting system that allows sprites to be affected by the groups you add them to, so that you can now apply velocity and such to groups and clouds. Also added some helper functions, and added a grow() sprite effect.
Image
User avatar
Arkeus
Site Admin
 
Posts: 363
Joined: Mon Mar 26, 2012 12:43 am

Re: Version 0.9.3 Branch

Postby GigaClon » Sun Nov 18, 2012 9:44 pm

Those are some nice additions. Makes the AxGroup more consistent. The onPause and onResume functions from the suggestions should be added, I have found them useful in some projects. I added some code that returns the class name of the state that was just pushed or popped respectively, I used it to pass information from one state to another
GigaClon
Sergeant Major
 
Posts: 45
Joined: Sat Oct 27, 2012 6:52 pm

Re: Version 0.9.3 Branch

Postby Arkeus » Sun Nov 18, 2012 10:41 pm

GigaClon wrote:Those are some nice additions. Makes the AxGroup more consistent. The onPause and onResume functions from the suggestions should be added, I have found them useful in some projects. I added some code that returns the class name of the state that was just pushed or popped respectively, I used it to pass information from one state to another


Yep, I definitely intent to get those changes, plus some of the other useful enhancements from the suggestions forum, into 0.9.3. Also looking to get camera effects (including shake, flash, and fading to a color to be useful for transitions). I've just finished parallax sprites to make having parallax backgrounds more efficient. I want to also get the texture atlas stuff in if I can, and depending on whether I come up with a solution I like or not, get the debug bounding boxes back in.
Image
User avatar
Arkeus
Site Admin
 
Posts: 363
Joined: Mon Mar 26, 2012 12:43 am

Re: Version 0.9.3 Branch

Postby foodyi » Wed Nov 21, 2012 10:58 pm

Hi , Do you have plan to fix iphone4 performance issue?
topic below:
viewtopic.php?f=10&t=101
foodyi
Corporal
 
Posts: 10
Joined: Mon Oct 15, 2012 10:15 pm

Re: Version 0.9.3 Branch

Postby Arkeus » Wed Nov 21, 2012 11:17 pm

foodyi wrote:Hi , Do you have plan to fix iphone4 performance issue?
topic below:
http://www.axgl.org/forums/viewtopic.php?f=10&t=101


Yeah, I'll probably try playing around with taking out the color/alpha multiplication in the shader if it isn't being used. But it still means that if you use alpha anywhere you'll still have terrible performance.

You can probably try it yourself by opening AxSprite.as and changing:

Code: Select all
      private static const FRAGMENT_SHADER:Array = [
         "tex ft0, v0, fs0 <2d,nearest,mipnone>",
         "mul oc, fc0, ft0"
      ];


to

Code: Select all
      private static const FRAGMENT_SHADER:Array = [
         "tex oc, v0, fs0 <2d,nearest,mipnone>"
      ];


Though that removes the ability to use .color and .alpha on sprites complete. But if you're currently working with getting better performance on iphone4 you could start there.
Image
User avatar
Arkeus
Site Admin
 
Posts: 363
Joined: Mon Mar 26, 2012 12:43 am

Re: Version 0.9.3 Branch

Postby Arkeus » Sun Nov 25, 2012 12:02 am

Pushed a bunch of changes to the beta branch and updated the changelog in the first post.
Image
User avatar
Arkeus
Site Admin
 
Posts: 363
Joined: Mon Mar 26, 2012 12:43 am

Re: Version 0.9.3 Branch

Postby GigaClon » Mon Nov 26, 2012 9:29 am

[quote="Arkeus"]
* Added helper functions noScroll() to AxGroup and AxModel to cover the common use case of setting scroll.x and scroll.y to 0
[/quote]
I have added an isZero() function to AxVector cause I frequently want to know if an entity is not moving at all.
GigaClon
Sergeant Major
 
Posts: 45
Joined: Sat Oct 27, 2012 6:52 pm

Re: Version 0.9.3 Branch

Postby Arkeus » Mon Nov 26, 2012 2:23 pm

GigaClon wrote:
Arkeus wrote:* Added helper functions noScroll() to AxGroup and AxModel to cover the common use case of setting scroll.x and scroll.y to 0

I have added an isZero() function to AxVector cause I frequently want to know if an entity is not moving at all.


Sounds useful, I'll add that also.
Image
User avatar
Arkeus
Site Admin
 
Posts: 363
Joined: Mon Mar 26, 2012 12:43 am

Re: Version 0.9.3 Branch

Postby GigaClon » Tue Nov 27, 2012 8:30 am

you might also want an alias in AxEnitity called isMoving that check if !velocity.isZero()
GigaClon
Sergeant Major
 
Posts: 45
Joined: Sat Oct 27, 2012 6:52 pm

Next

Return to Announcements

Who is online

Users browsing this forum: No registered users and 1 guest

cron