Changing Scenes at Device

Hey,

I tested my app both in corona and xcode simulators, but when I try it on my iPad, it keeps crashing at the same point over and over again, and the app closes itself.

It is precisely when it was supposed to change a scene after holding a button for 4 seconds.

Any thoughts?
Appreciate it!! [import]uid: 95495 topic_id: 17738 reply_id: 317738[/import]

Unfortunately, you’d have to post some code in order for anyone to help you out with this issue as it’s not specific enough to dissect completely.

It could be something you’re doing right when you’re initializing the scene you’re loading. Also, what are you using to manage/transition between your scenes?

I recommend you use the newly released Storyboard API:

http://blog.anscamobile.com/2011/11/introducing-the-storyboard-api/ [import]uid: 52430 topic_id: 17738 reply_id: 67595[/import]

I’m using director, here’s my code:

local flag = false  
 local timerHandle = nil  
   
 local function onTimer(event)  
 if flag then  
 print("The button was pressed for 4 seconds")  
 local event = {}  
 event.phase = "ended"  
 finger:dispatchEvent( event )  
 director:changeScene("final")  
  
 else  
 end  
 end  
   
 local function onTouch(event)  
 local phase = event.phase  
 if ( phase == "began")then  
 flag = true  
 timerHandle = timer.performWithDelay(4000,onTimer)  
  
  
 elseif (phase == "ended") then  
  
 flag = false  
 timer.cancel(timerHandle)  
 timerHandle = nil  
 end  
 end  
   
 finger:addEventListener("touch",onTouch)  

Again, it worked fine in both simulators! The problem is with iPad (I haven’t tested in iPhone yet)

The scene I’m loading is a regular scene! just like all others that work fine in iPad.
Thanks! [import]uid: 95495 topic_id: 17738 reply_id: 67599[/import]

Unfortunately we can’t provide support for Director, and we don’t know it well enough to say if it’s an issue with your code above, director, or the core api.

I recommend using the new ‘storyboard’ API to see if you are still experiencing these issues. Porting from director should be pretty straight-forward. Most things will be in your “createScene” event, and instead of using clean() (as with Director), you’d most-likely put those in your “exitScene” or “destroyScene” events.

Once again, here is a link to the blog post describing the Storyboard API:

http://blog.anscamobile.com/2011/11/introducing-the-storyboard-api/ [import]uid: 52430 topic_id: 17738 reply_id: 67613[/import]

Could an array be a problem?

I have an array in the loaded scene with 100 images, being 1 randomly selected.

I tested without this array an it worked. I’m thinking maybe it’s the array itself the problem, or its content (too many information (something like 18mb) to be loaded at once, then the app crashes)

code:

 array= {}  
local i = 1  
array[i]= display.newImage("frasefinal/Slide01.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide02.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide03.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide04.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide05.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide06.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide07.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide08.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide09.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide10.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide11.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide12.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide13.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide14.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide15.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide16.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide17.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide18.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide19.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide20.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide21.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide22.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide23.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide24.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide25.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide26.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide27.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide28.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide29.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide30.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide31.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide32.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide33.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide34.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide35.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide36.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide37.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide38.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide39.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide40.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide41.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide42.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide43.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide44.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide45.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide46.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide47.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide48.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide49.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide50.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide51.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide52.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide53.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide54.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide55.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide56.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide57.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide58.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide59.png");array[i].alpha=0;i=i+1   
array[i]= display.newImage("frasefinal/Slide60.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide61.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide62.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide63.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide64.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide65.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide66.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide67.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide68.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide69.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide70.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide71.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide72.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide73.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide74.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide75.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide76.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide77.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide78.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide79.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide80.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide81.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide82.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide83.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide84.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide85.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide86.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide87.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide88.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide89.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide90.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide91.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide92.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide93.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide94.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide95.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide96.png");array[i].alpha=0;i=i+1  
array[i]= display.newImage("frasefinal/Slide97.png");array[i].alpha=0;i=i+1  
  
function selectimage()  
local randomimage = math.random(1,#array)  
  
--1 to highest index in the table  
 array[randomimage].alpha=1  
 array[randomimage].x = \_W/2  
 array[randomimage].y = \_H/2  
 array[randomimage]:setReferencePoint(display.CenterReferencePoint)  
 array[randomimage].xScale=0.50  
 array[randomimage].yScale=0.6  
  
end  
  
selectimage()   
  

Thoughts?

[import]uid: 95495 topic_id: 17738 reply_id: 67631[/import]

Yes, I believe your assumption is correct that all the loading of those images at once is causing your device to crash. I would either break it up into different chunks of code, or only load the ones you absolutely need then. [import]uid: 52430 topic_id: 17738 reply_id: 67636[/import]

How do I break into chuncks of code? [import]uid: 95495 topic_id: 17738 reply_id: 67726[/import]