A couple of things...
Using both SetVirtualResolution() and SetDisplayAspect() in the same program is sort of counter-productive. It doesn't really hurt anything, but you don't get the result you expect.
SetDisplayAspect() is for when you want to consider the screen in percentages. The screen is 100% wide and 100% tall, and all your sprite sizes and positions are in relation to this. The middle of the screen is x 50 and y 50. If you want to size your sprites so that you can see a grid of 3 sprites across and 4 down, you would size them at width 33.3 and height 25.0.
SetVirtualResolution() is for using pixel coordinates. If your virtual resolution is 640 by 960, and you want the same sprite distribution as above, the sprite size would be width 213.33333 (640 divided by 3) and height 240.0 (960 divided by 4).
If you set your virtual resolution to your device size, then the position and size of your sprites will vary greatly from device to device. Some of your sprites might not be visible, etc.
Now, since you are going to use sprites of a fixed size (250 by 250), you will need a virtual resolution that will show the number of sprites that you want to see on the screen. At a virtual resolution of 640 by 960, you will see about 2 and a half sprites across, and almost 4 sprites down.
Of course zooming out the view will show more sprites, and I'm guessing that's your plan.
Personally, I would use the highest virtual resolution among your target devices, and let AppGameKit automatically scale everything down for any other devices. Some folks will say that using the smallest resolution is the way to go, letting AppGameKit scale up. It's up to you, and your mileage may vary.
BTW, the resolution set in the setup.agc file is really just for sizing your display window in the "windows" environment. It won't affect the display on mobile devices, but it helps visualize the program if you use one that fits on the screen, with the same aspect ratio as your favorite mobile device.
Okay, now as far as your problem with the black lines, I can't reproduce it. I'm running a modified version of your code posted...
SetVirtualResolution(600, 1004)
` phone is 480 x 800
` Kindle Fire is 600 x 1004
setResolutionMode(0)
setGenerateMipMaps(1)
SetOrientationAllowed(1,1,0,0)
dim sprites[575] as integer
for y=0 to 24
for x=0 to 22
sprites[running]=createSprite(0)
setSpriteSize(sprites[running],250,250)
setSpritePosition(sprites[running], x * 250, y * 250)
SetSpriteColor(sprites[running], Random(130, 200), Random(130,200), random(130,200), 255)
running=running+1
next
next
do
Print(GetDeviceWidth())
Print(GetDeviceHeight())
if GetPointerReleased()
if GetViewZoom() = 1.0
SetViewZoom(0.5)
else
SetViewZoom(1.0)
endif
endif
Sync()
loop
I see no black edges on either my HTC Incredible phone, or my Kindle Fire. Both are Android devices. Also no black edges on my iPad and iPod Touch, and windows.
I guess you are assigning images to the sprites later, and this makes me wonder if the sprites are changing size when the new image is applied. Are you resetting the sprite size after the SetSpriteImage() command?
Anyway, like I say, I'm seeing no black edges with the revised code. Do you have a simple snippet that would illustrate the problem? If the code above is showing black edges, then maybe it's a device specific problem?