DrawImage failing on IOS
Monkey Targets Forums/iOS/DrawImage failing on IOS| 
 | ||
| Been trying some IOS code out to basically shuffle a pack of cards deal them into 2 piles and then display the cards in the order of the 2 piles. My code works great on HTML5 but when I try to run on the IOS simulator it crashed out with this error in Xcode Thread 1 : Program received signal: "EXC_BAD_ACCESS" and the line highlighted is bbgraphicscontext->bbdevice->DrawSurface2(bbimage->bbsurface,bbx-bbimage->bbtx,bby-bbimage->bbty,bbf->bbx,bbf->bby,bbimage->bbwidth,bbimage->bbheight); My source code is as follows 
Import mojo
Class ShowCard Extends App
	Field deck:Image
	Field cardsnotpicked:Int
	Field playercards:=[New Int[2],New Int[26]]
	Field ctr1:Int
	Field ctr2:Int
	Field ctr3:Int
	Field ctr4:Int
	Field ctr5:Int	
   
	Method OnCreate ()
		deck = LoadImage ("cards.png", 79, 123, 65,Image.MidHandle )
		SetUpdateRate 60
		cardsnotpicked=1
	End
	Method OnUpdate()
	
		If cardsnotpicked
			' fill the card arrays with a blank card
			For ctr1 = 0 To 1
				For ctr2 = 0 To 25
					playercards[ctr1][ctr2]=54
				Next
			Next
			'find an empty slot to put the next card in	
			For ctr3 = 0 To 51
				ctr1 = Rnd(0,2)
				ctr2 = Rnd(0,26)
				While playercards[ctr1][ctr2]<>54
					ctr1 = Rnd(0,2)
					ctr2 = Rnd(0,26)	
				Wend
				playercards[ctr1][ctr2]=ctr3
        		Next
			cardsnotpicked = 0
		End
	End
	Method OnRender ()
		Cls (20,240,20)
		'draw 2 x 26 cards
		For ctr4 = 0 To 1
			For ctr5 = 0 To 25
				DrawImage deck,100+(ctr4*20),100+(ctr5*18),playercards[ctr4][ctr5]
			Next
		Next
	End
End
Function Main()
	New ShowCard
End
Any ideas on why its doing it? Thanks Gary | 
| 
 | ||
| Can you try just drawing one frame of your deck image? | 
| 
 | ||
| one frame at random works fine Thing that I find strange is it is highlighting the scale and rotate part of the draw code which im not using Looking at the Xcode code it has converted DrawImage deck,100+(ctr4*20),100+(ctr5*18),playercards[ctr4][ctr5] to bbgraphicsDrawImage2(bbdeck,float(100+bbctr4*20),float(100+bbctr5*18),0.000000f,1.000000f,1.000000f,bbplayercards[bbctr4][bbctr5]); if I replace bbplayercards[bbctr4][bbctr5] with 1 then it draws the same card over and over again with no issues. Have I declared the array properly or is it an issue with 2d arrays with xcode? Like I say it works as expected in HTML5 | 
| 
 | ||
| Field playercards:=[New Int[2],New Int[26]] As I posted in your Arrays thread, this is not doing what you think. You are declaring an Array with two elements: the first a two element Int array and the second is a twenty six element Int array. I presume what you are trying to do is declare an array with two rows of 26 elements, like this: Field playercards:=[New Int[26],New Int[26]] Also note the the OnRender is called before the OnUpdate, so you'll need to set your cards up in the OnCreate. |