vendredi 20 novembre 2015

Nape physics throwing null reference errors (Error #1009) since iOS 9.1 update on iPad

Background: I'm working on a children's game in ActionScript 3 that makes use of Nape physics. It's being built to iOS as an air app. The section I'm having issues on involves dragging various shapes onto a board and letting water flow over them. So you can drag pieces out of the UI onto the board, and you can drag board pieces around. Board pieces do not interact with each other, only the water (which is really just circle shapes with some rendering trickery):

var notWater:OptionType = CbType.ANY_BODY.excluding(WaterAtom.WATER_CBTYPE);
_allShapes = new PreListener(InteractionType.ANY, notWater, notWater, ignore);
_allShapes.space = space;

private function ignore(cb:PreCallback):PreFlag
{
    return PreFlag.IGNORE;
}

Since updating to iOS 9.1, we've been getting frequent errors inside the nape space.step() method -- Error 1009, which is a null reference exception. It seems to happen when pieces are stacked up over one another. The more complex the piece, the more likely it is to happen. Moving pieces around (esp. more than one piece at the same time using multitouch) again increases likelyhood.

The actual error I'm getting on the device is:

TypeError: Error #1009
  at zpp_nape.space::ZPP_Space/presteparb()
  at zpp_nape.space::ZPP_Space/prestep()
  at zpp_name.space::ZPP_Space/step()
  at nape.space::Space/step()
  at my_game::WaterActivity/update()

Has anyone encountered anything like this recently when using Nape on iOS? Is there some known thing I should be watching out for that I've missed or forgotten? Thanks!

Aucun commentaire:

Enregistrer un commentaire