Replies: 19 comments 65 replies
-
AS3: Minor language updatesA few minor updates to mention:
|
Beta Was this translation helpful? Give feedback.
-
AS3: ByteArray updatesTrying to make the old ByteArray class a little more useful, per #2152 (comment), we have added some conversion routines for base64 and hexadecimal (aka base16) strings. So for example, you can create a ByteArray from a string in base64/base16 format using Another method that has been added is a |
Beta Was this translation helpful? Give feedback.
-
AS3: Encryption updatesA minor change was to add the SHA-512 capabilities into the Our previous release had introduced the idea of encrypting a BinaryData tag within a SWF file, which you can create from any file at compile-time via the embed command:
To extract the data, you could then do:
This option is still available, but the encryption key used here is randomly generated by the ActionScript compiler and then embedded into the data in an obfuscated manner. This is not particularly secure and so an additional option has been added so that developers can use their own key data, in the form of a string (only the first 16 characters would be used, but the string can be of any length.. it can't be To set the string, there are two options:
If both options are used, the value in the
|
Beta Was this translation helpful? Give feedback.
-
AS3: Single-Precision Floating PointThis is one of the 'beta' pieces of functionality, it is passing the test cases that we have but there may still be issues with this. The change is a fairly major one in the ActionScript compiler and virtual machine, to introduce a single-precision (32-bit) floating point value, aka binary32. This is most likely something that would be useful for some of the Stage3D graphics programming, there are new functions in The bulk of the original changes had actually been done by Adobe some time ago, along with updates for a "float4" type which was a structure holding 4 floating point values (so e.g. xyzw, rgba, etc, again targeting the Stage3D world). We have not proceeded with float4 as we were looking to use the storage slot instead for a 64-bit integer type, but it would be good to hear feedback on the thoughts here. I would add that there was still a lot of work that we found was needed in order to get the float value to work properly; the AOT compiler for iOS in particular had not been touched, so this is one area where some real-world testing would be particularly valued. |
Beta Was this translation helpful? Give feedback.
-
AS3: WebSocket SupportThis was a request quite a while ago, and there was a suggestion to perform the functionality all in ActionScript, which is possible of course; but it may make it a little more optimised for this to be provided by the underlying runtime. It was also something we found quite handy when doing some interactivity demonstrations between Adobe AIR and Adobe Express add-ons, which run in the browser (and can now communicate nice and easily with AIR apps..). A WebSocket can be set up either as a client or as a server. If a client, you can just call the The more usual case is for AIR to act as the server, for which you can use a ServerSocket, and when a socket connection has been received, create the WebSocket object and call
The WebSocket will at this point enter a listening mode and will expect the client to send an HTTP upgrade request, to switch to the WebSocket protocol. It will handle the handshaking and messages can then be sent via the |
Beta Was this translation helpful? Give feedback.
-
AS3: Zip Archive SupportThis utility provides a more optimized and platform-agnostic mechanism to manipulate zip files. Currently the support is only for extracting/unzipping files, but the remaining APIs will be implemented in the near future. One of the key provisions here is an asynchronous unzip operation. So for example:
The unzip, expand and writing of the files will all take place in a background thread, with progress events sent out once per frame (if the number of files processed has changed). Note that the progress event does not provide updates in terms of bytes, instead the |
Beta Was this translation helpful? Give feedback.
-
AS3: StageText typeSee #3060 - there is a new Currently the frameworks/APIs are in place but further implementation/translation will be required to complete this feature on Android and iOS. |
Beta Was this translation helpful? Give feedback.
-
AS3: StageWebView updatesThere had been a number of features requested in StageWebView implementations, to change the behaviour for example recently to remove the zoom buttons on Android (#3061). The constructor for a StageWebView object has been updated to provide a lot more flexibility, allowing us to update the capabilities without needing API updates. See #1170 (comment) The constructor can now be called with a dynamic configuration object, although the actual handling of this configuration is not completed. A list of options that can be provided, and their platform support, will be added to the AS3 documentation and also included here in the reply thread for this comment. See https://airsdk.dev/reference/actionscript/3.0/flash/media/StageWebView.html#StageWebView() The other update needed for a StageWebView was the communication between the AS3 and JavaScript side. This should occur via the postMessage/sendMessage mechanism, and from an ActionScript perspective there is a |
Beta Was this translation helpful? Give feedback.
-
ANE:There are still some works in progress with ANE functionality to improve the possibility of integrating third party libraries/capabilities into AIR applications; but the main addition for AIR 51.0 is the ability to render content from a memory buffer into the normal Stage display list tree. To do this, you would need to create a MediaBuffer object (we've not actually publicised the air.media.MediaBuffer class much yet). Typically you would either create this from a ByteArray or BitmapData, or from some embedded SWF data, but you can also pass the object in to an ANE and have the ANE then directly lock and write into the MediaBuffer memory. The MediaBuffer can be configured as the source of a DisplayObject which can then be added into the display list like any normal DisplayObject or Sprite. To do this, you would set up an ANE and pass it the necessary objects:
and then within the ANE, you can set this MediaBuffer as the source for the object:
The sprite should then have the contents of that bitmap data object. This of itself is not particularly useful, but you can also provide animation, either by using a different MediaBuffer object in different frames, or by changing the data directly within each frame:
Some notes:
|
Beta Was this translation helpful? Give feedback.
-
@ajwfrost SUPER! can't wait to test this! I am guessing we will fail to have proper autocomplete using IntelliJ because of the plugin? |
Beta Was this translation helpful? Give feedback.
-
Could you please add a method to load zipfile from bytearray? Currently I'm writing to a temp file and then using the new zipfile class to load the data and process the files data in my application. But this add a unnecessary overhead but it's still more fast than others available library's to handle zip files like fszip. If you can just add a method to load from bytearray will be awesome. |
Beta Was this translation helpful? Give feedback.
-
Hello, maybe it is not the correct topic to ask. But I didn't find the any answer while googling. So I'd like to ask, is there some possibility that AIR SDK works with apple "on-demand resources"? I din't find any link on google to some tutorial in AIR SDK, there are some tutorial to SWIFT, but it isn't what I am looking for.. |
Beta Was this translation helpful? Give feedback.
-
If an app runs ok in 50.2.4, will it run fine in v51.0? I'm concerned with updating to the latest SDK if things are running just fine in 50.2.4. Thx. |
Beta Was this translation helpful? Give feedback.
-
Sorry for post this here, just hoping to get some attention: Will this receive any new updates? : #2869 |
Beta Was this translation helpful? Give feedback.
-
@ajwfrost By the way, does this version include the addition of Android's Focus event? We should continue to use 50.2.3.6 for Android builds to avoid this issue. |
Beta Was this translation helpful? Give feedback.
-
I have an error using AIR SDK 51.0.0.4 for Apple TV/tvOS :
Thanks |
Beta Was this translation helpful? Give feedback.
-
I see AIR 51 in the main Release notes - does it mean that we can use it in our live projects? |
Beta Was this translation helpful? Give feedback.
-
I tested AIR 51.0.1.1 on my game. This is what happens: Here I attach 2 videos: of the game compiled and built with AIR 50.2.5.1 and with AIR 51.0.1.1 51.0.1.1 |
Beta Was this translation helpful? Give feedback.
-
Any news about android Ahead of Time? |
Beta Was this translation helpful? Give feedback.
-
Hi all. Finally, we are releasing a new major version of the AIR SDK - the major version update is because of a number of new ActionScript APIs and features that are being added, which means the SWF version code will also be going up to 51 (fourth byte of the SWF = 0x33).
This discussion thread is to provide information about the new features/APIs. Our intention is to create a new main comment for each of the features, and then we (or anyone) can reply on those comment threads, so that we keep each thread specifically about a particular feature. We can then use it to give examples, provide updates on the status (51.0 is released initially as a beta/pre-release, some features are not actually completed), and hopefully it still stay roughly organised.
For full ActionScript API details, check out the "What's New" page of https://airsdk.dev/reference/actionscript/3.0/
Beta Was this translation helpful? Give feedback.
All reactions