Can all flash games be readily ported to adobe air for deployment on ios
2013-10-29 21:41
591 查看
Can all flash games be readily ported to adobe air for deployment on ios? For example, if I develop a 2D platform game in AS3, can I simply re-package that for deployment on iOS using Adobe AIR, without needing to modify the codebase?
If possible, how do I do that? Just re-package using the AIR SDK's ADT tool?
In my game, I use the mouse and keyboard to control the character... the hero follows the mouse cursor and left click fires... how will that translate to touch?
I'm new to AIR and haven't even got an iPhone yet. But I'm interested to know the possibilities.
Any help/tips/advice would be greatly appreciated.
Any Flash content can be packaged with AIR to iOS, Android, and BlackBerry.
From Flash Professional, this can be done by changing the Publish Settings:
Targeting AIR 3.3 is optimal, with higher performance for iOS. This AIR SDK can be overlaid to Flash Professional publish settings; or, you can use the ADT command line packager.
Download AIR 3.0 SDK.
Assure JRE, or use the one from Flash Builder.
Execute adt to package your SWF to an IPA:
It's important to note that all executable code must reside in a single SWF to run on the iOS platform. SWFLoading or any dynamically loaded SWF that executes code is not supported. So, link all your Flash to a single SWF.
Performance is also a factor - heavy animation and vector graphics on enter frame will require optimization for mobile platforms.
Per design, there are many aspects to consider.
Apps run full screen with different resolutions per device. You can leverage elegant systems of dynamically resizing to adapt to these multiple screens or target a specific resolution per app.
If your existing Flash project is not a compatible aspect ratio, you will need to update your layout.
Mouse translates decently to touch, but there are subtle nuances that are not intuitive. For example, hover is generally poor to implement in touch. As well, the mouse cursor does not obstruct the view like holding your hand over the game play area for touch.
Mobile touch devices increase capability of interaction with multi-touch and gestures which may be leveraged.
On-screen keyboard may be activated; however, will take a portion of your viewport and would be difficult to interact with for most games.
You'll want to translate keyboard and mouse events in a way that keeps parity with your game play.
References:
http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html
http://www.adobe.com/devnet/air/articles/packaging-air-apps-android.html
http://www.adobe.com/devnet/air/articles/packaging-air-apps-blackberry.html
While it's certainly possible, depending on the game you will likely notice a performance difference between desktop and mobile device, especially if there are lots of vector animations, filters, etc.
If you want perfect performance on mobile devices you should rewrite your application with with something like the Starling
Framework.
If possible, how do I do that? Just re-package using the AIR SDK's ADT tool?
In my game, I use the mouse and keyboard to control the character... the hero follows the mouse cursor and left click fires... how will that translate to touch?
I'm new to AIR and haven't even got an iPhone yet. But I'm interested to know the possibilities.
Any help/tips/advice would be greatly appreciated.
Any Flash content can be packaged with AIR to iOS, Android, and BlackBerry.
From Flash Professional, this can be done by changing the Publish Settings:
Targeting AIR 3.3 is optimal, with higher performance for iOS. This AIR SDK can be overlaid to Flash Professional publish settings; or, you can use the ADT command line packager.
Download AIR 3.0 SDK.
Assure JRE, or use the one from Flash Builder.
Execute adt to package your SWF to an IPA:
adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc] -keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12 -provisioning-profile ios.mobileprovision HelloWorld.ipa HelloWorld-app.xml HelloWorld.swf icons Default.png
It's important to note that all executable code must reside in a single SWF to run on the iOS platform. SWFLoading or any dynamically loaded SWF that executes code is not supported. So, link all your Flash to a single SWF.
Performance is also a factor - heavy animation and vector graphics on enter frame will require optimization for mobile platforms.
Per design, there are many aspects to consider.
Apps run full screen with different resolutions per device. You can leverage elegant systems of dynamically resizing to adapt to these multiple screens or target a specific resolution per app.
If your existing Flash project is not a compatible aspect ratio, you will need to update your layout.
Mouse translates decently to touch, but there are subtle nuances that are not intuitive. For example, hover is generally poor to implement in touch. As well, the mouse cursor does not obstruct the view like holding your hand over the game play area for touch.
Mobile touch devices increase capability of interaction with multi-touch and gestures which may be leveraged.
On-screen keyboard may be activated; however, will take a portion of your viewport and would be difficult to interact with for most games.
You'll want to translate keyboard and mouse events in a way that keeps parity with your game play.
References:
http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html
http://www.adobe.com/devnet/air/articles/packaging-air-apps-android.html
http://www.adobe.com/devnet/air/articles/packaging-air-apps-blackberry.html
While it's certainly possible, depending on the game you will likely notice a performance difference between desktop and mobile device, especially if there are lots of vector animations, filters, etc.
If you want perfect performance on mobile devices you should rewrite your application with with something like the Starling
Framework.
相关文章推荐
- iOS - Applications must be ready for upload on iTunes Connect before they can be validated or submit
- ★ Learn how you can use Adobe Creative Suite to create skins for Flex and AIR applications.
- make: Nothing to be done for `all_modules'.问题解决
- how to install flash player for Mozilla firefox on Kali linux 2.0
- Database can't be started on Node 1 due to serverpool Max value is 1
- Navicat for Mysql 出现2003 - can't connect to MySQL server on 'localhost' 10061解决
- 修改.cpp后, 重新make all, 却提示nothing to be done for all
- make: Nothing to be done for `all'的解决办法
- Make: Nothing to be done for 'all'. Make: Nothing to be done for 'default'.
- make: Nothing to be done for 'all'
- Deployment failure on Tomcat 6.x. Could not copy all resources to
- springMVC项目异步处理请求的错误Async support must be enabled on a servlet and for all filters involved in async
- VS 安装助手,弹出“The security key for this program currently stored on your system does not appear to be ”
- VA番茄助手提示The security key for this program currently stored on your system does not appear to be vali
- navicat for Mysql:2003 can't connect to mysql server on 'localhost'(10038)问题的解决方法
- make: Nothing to be done for `all' 解决方法 ---实验2
- Getting started to receive your in-app for free on iOS(你懂的)
- to disable the entity lazy load, The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
- File is universal (three slices), but it does not contain a(n) ARMv7-s slice error for static libraries on iOS, anyway to bypass?
- air for ios adobe官方技术网站