AppEasy 1.4 available – New Lua API, Web View, Ad Support, Video Cam Streaming

AppEasy Version 1.4 is Now Available

AppEasy the cross platform mobile game and app development system for iPhone, iPad, Android and Windows that is aimed at all levels of experience releases latest update

AppEasy version 1.4 is now available for download from here.

Please upgrade to the latest version. Note that before updating, close down your current version of AppEasy, rename c:\AppEasy to c:\AppEasy2, install and run AppEasy 1.4 then copy any changes / certificates from c:\AppEasy2 to c:\AppEasy. Note that if you install the update before renaming c:\AppEasy then simply exit the AppEasy project manager, rename the folder and run AppEasy again.

Lua API has had a major overhaul

We felt that the Lua API was not going in the right direction and was starting to look messy so we rewrote it. Functions have now been split up into libraries to make the API more organised and easier to use. Heres a full list of the libraries we have planned:

  • actions – Deals with XOML actions
  • actor – Deals with actors
  • brush – Deals with brushes (coming soon)
  • camera – Deals with virtual scene cameras (coming soon)
  • facebook – Deals with facebook interaction (coming soon)
  • font – Deals with fonts (coming soon)
  • sys – Deals with general system interaction
  • http – Deals with HTTP communications (coming soon)
  • image – Deals with images (coming soon)
  • input – Deals with device input
  • market – Deals with in-app purchasing (coming soon)
  • media – Deals with audio and video playback
  • physics – Deals with physics (coming soon)
  • program – Deals with XOML programs
  • resource – Deals with generic resources
  • scene – Deals with scenes
  • shape – Deals with shapes (coming soon)
  • template – Deals with templates
  • timeline – Deals with timelines
  • variable – Deals with XOML variables

Over time new functions and even new libraries will appear

New Lua functionality has been added such as querying collision contacts, creating scenes, appending XOML arrays, controlling device vibration, disabling device power saving etc..

Web View

The Web View now works on iOS and Android. You can create web views of any size modal or none modal and either navigate them to a URL or write html / javascript content to them from actions, commands and scripts.

Video Cam Streaming

A new resource type called VideoCam has been added which enables streaming of the devices video camera to an Image, which can in turn be displayed via actors.

New Actor Properties

Actors have been given some new properties, including:

  • IgnoreCamera – Forces actor to ignore camera transform
  • Orphan – Allows child actors to sort via normal actor layers
  • UserData – A simple integer that can be used to store user data such as an index into a script table

Brush UV coordinates

Brushes got a new property called UV, which allows you to set the UV coordinates of the brush directly instead of using SrcRect. Currently only works with image brushes.

Ad Support Added

We decided to add support for HTML ads to AppEasy as they offer a wide range of features compared to basic text or banner ads. For example using HTML ads you have access to the following types of ads:

  • Animating banner and text ads of any size
  • Video ads
  • Interstitial ads
  • Interactive ads
  • Forms based ads
  • Offer walls

We have added information about ad integration to section 20 of the XOML User Guide. We have also added information showing how to get set up and integrated with Leadbolt. We will include additional integrations on the next release.

Complete list of changed in 1.4 include:

Changes to AppEasy Project Manager

  • If project is saved with no location then the location is set to the folder where the project is saved
  • You can now set the size of the XML pools used by AppEasy. Format is (max-tags,max-attributes). Note that these are preallocated data pools so they will eat into your applications memory, so you may need to increase the amount of memory available to your app. Each tag consumes 104 bytes and each attribute consumes 60 bytes plus additional space for parsed strings

Changes to AppEasy Core Engine

  • Lua API has been replaced with a more intuitive Lua API
  • If you now try to add a resource that already exists in the scope it is loaded then a warning will be displayed and the resource will be overwritten
  • WebView now supports new Html attribute which can be used to pass html to the web view to be displayed
  • WebView now works in screen coordinates and not virtual canvas coordinates
  • Actors now have new UserData property that can be use to store a single integer, can be used to store index into script table / array for additional data
  • Actors now have new IgnoreCamera property that allows them to ignore the scenes camera transform
  • All examples now have schema set
  • All examples have been updated to use new Lua API
  • Actors have new property called Orphan. When set to true, actor is taken out of the usual sprite parent / child hierarchy and moves into the normal layer system. This enables child sprites to sort using layers, however actor to actor clipping may be affected
  • New scene.create() method added to allow creation of scenes from lua
  • New actor.getStartContacts() and actor.getEndContacts() functions added to give access to actors that a particular actor has started or ended collisions with
  • New VideoCam resource added that allows you to stream the devices video cam to an image
  • New ChangeVideoCam action added
  • New Lua functions added to change video cam media.changeVideoCam(), can be used to stop and start feed
  • New Lua variable.add() function added to add a value to a XOML variable
  • New Lua variable.append() function added that enables you to append additional elements onto the end of a XOML array
  • New Lua functions sys.vibrate() and sys.stopVibrate() added to control vibration
  • New Lua function sys.changePowerSaving() added to prevent back-light from switching off
  • New Lua function input.touchInfo() which returns information about touches
  • Image brush now supports setting of UV coordinates directly
  • Ads are now integrated via the web view (see section 20 of XOML User Guide)
  • BUG FIX: Some Lua functions were displaying incorrect errors and warnings
  • BUG FIX: Web view now works on iOS and Android (does not work on Windows)
  • BUG FIX: AspectLock fixed
  • BUG FIX: None batched sprites now render correctly at edges
  • BUG FIX: Some examples were broken
  • BUG FIX: Deleting particle actor that was child of another actor crashed when removing particle actor
  • BUG FIX: Particle actor placed inside parent actor didn’t scale by parents opacity when UseParentOpacity set
  • BUG FIX: Empty Param2 in FromTenplate action / commands crash
  • BUG FIX: Fixed changing orientation resizing
  • BUG FIX: Touch panning glitch fixed

Example Changes

  • Added New VideoCam example
  • Added new AdvancedCollision example
  • Added new DynamicWebView example