Problemas con imágenes, tamaños, sufijos, grupos y director.

Hola he estado pidiendo ayuda en varios foros, pero aun no me han podido ayudar desde hace rato.
Estoy haciendo un juego para ipod y android.

Estoy teniendo problemas con el manejo de las imágenes de resolución dinámica, las transiciones, la clase director 1.4 y los grupos.

Les presento mi primer caso:
Ando programando con windows para ios y droid, estoy usando el view as del iphone y iphone4, con su debido tamaño y resolución.

Aqui el codigo que estaba usando para el config y el build settings:

config.lua

application =
{
content =
{
width = 320,
height = 480,
scale = “letterbox”,

imageSuffix =
{
["-x15"] = 1.5,
["-x2"] = 2,
},
},
}

build.settings

Supported values for orientation:
– portrait, portraitUpsideDown, landscapeLeft, landscapeRight

settings = {

orientation = {
default = “portrait”,
content = “portrait”,

supported = { “landscapeLeft”, “landscapeRight”, “portrait”, “portraitUpsideDown” }
},

iphone = {
plist = {
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles = {
“Icon.png” ,
“Icon@2x.png” ,
“Icon-72.png” ,
“Icon-Small-50.png” ,
“Icon-Small.png” ,
“Icon-Small@2x.png”
},
UIStatusBarHidden = true,
UIPrerenderedIcon = true,
UIApplicationExitsOnSuspend = true,
UIAppFonts = {“SF_Slapstick_Comic.ttf”}

},
}
}

–[[ For Android:

androidPermissions = {
“android.permission.INTERNET”,
},
]]–
}

He estado usando imágenes proporcionalmente ajustadas a la debida resolución, rectángulos para imágenes cuadradas u spritesheets.

Cuando termine de programar mis imágenes solo se veían bien en el emulador de iphone, pero el del iphone 4 no me mostraba bien las imágenes. Ya que para el iphone use posicionamiento ajustado a
480x320. Cuando cambio al emulador de 4g el tamaño incrementa y el posicionamiento se queda igual, haciendo ver pequeñas a las imágenes, incluso con el sufijo 2x este no me lo carga adecuadamente.

Aquí un ejemplo de a lo que me refiero.

local character1 = sprite.newSprite(charSet) for 480 x320
character1.x=52
character1.y=320

local character1 = sprite.newSprite(charSet) for 960 x640
character1.x=104
character1.y=640
.

Me vi obligado por este problema, a cambiar mi config.lua por esto:

application =
{
content =
{
width = 640,
height = 960,
scale = “letterbox”,
},
}

Con estas configuraciones, solamente use las imágenes del sufijo @2x ya ajustadas 960x640.
Les quite el @2x y las uses como objeto.png normal.
Cambie los posicionamientos ajustado a 960x640.
Y todo empezó a funcionar bien en todos los emuladores del corona, tanto iphone, iphone4g y droid.
Cabe recalcar que no tengo licencias para probar en mi dispositivo.

Ahora el problema que se me presento fue, ya que programe y organice todo con corona sdk en windows. Fue que trate de abrir el proyecto con una nueva mac: Pero pasa lo inverso:

El emulador de iphone me arga imagenes grandes y pequeñas
El emulador de iphone funciona, pero me da errores de Director como este:

Aqui el codigo.

Director ERROR: Failed to execute new( params ) function on ‘Worldmap’.

[blockcode]
module(…, package.seeall)

–====================================================================–
– SCENE: [NAME]
–====================================================================–

–[[

  • Version: [1.0]
  • Made by: [name]
  • Website: [url]
  • Mail: [mail]

******************

  • INFORMATION
    ******************

  • [Your info here]

–]]

new = function (params)


– Groups

local localGroup = display.newGroup()

ego = require “ego”
saveFile = ego.saveFile
loadFile = ego.loadFile


– Your code here

– Storyboard slide & skip button
local Map
local Reddot1
local Reddot2
local Reddot3
local puntosacumulados
local score
–functions
local Main={}
local Maplisteners={}
local Showwindow1={}
local Showwindow2={}
local Showwindow3={}

– Main
function Main()
Map=display.newImage(“Map.png”,0,0)

Reddot1= display.newCircle(110,600,30)
Reddot1:setFillColor(255,0,0)

Reddot2= display.newCircle(320,780,30)
Reddot2:setFillColor(255,0,0)

Reddot3= display.newCircle(510,600,30)
Reddot3:setFillColor(255,0,0)

score=loadFile(“score.txt”)
puntosacumulados=display.newText(score,300,40,“Helvetica”,40)

localGroup:insert(Map)
localGroup:insert(Reddot1)
localGroup:insert(Reddot2)
localGroup:insert(Reddot3)
localGroup:insert(puntosacumulados)

Maplisteners(“add”)

end

– agregando listeners a los botones next y skip

function Maplisteners (action)
if (action==“add”)then
Reddot1:addEventListener(‘tap’,Showwindow1)
Reddot2:addEventListener(‘tap’,Showwindow2)
Reddot3:addEventListener(‘tap’,Showwindow3)
else
Reddot1:removeEventListener(‘tap’,Showwindow1)
Reddot2:removeEventListener(‘tap’,Showwindow2)
Reddot3:removeEventListener(‘tap’,Showwindow3)
end
end

–funciones para popup

function Showwindow1()

director:openPopUp(“Window”, “fade” )
end
function Showwindow2()

director:openPopUp(“Window2”, “fade” )
end
function Showwindow3()

director:openPopUp(“Window3”, “fade” )
end

Main()

— CODE —


– MUST return a display.newGroup()

return localGroup

end

[/blockcode]
No entiendo a los emuladores, y cual este en lo correcto y cual seria el mejor para publicar en que.
Deberia usar mi mac para publicar solo para ipod o tambien para droid, o deberia usar mi windows para droid?

Deberia manejar dos carpetas una exclusiva para windows y una para iosx?

Ahorita me encuentro trabajando solo con mac ya que de aqui hare pruebas mas a futuro, pero seria la mejor manera para publicar para iphone, iphone 4g y droi, sin que las imagenes cambien de tamaño o posicion, solo que cambien de resolucion, incluso usando sufijos?

Aun me encuentro aprendiendo, si alguien necesita el codigo completo o alguna clase, se los agradeceria mucho que me ayudaran a identificar los problemas, muchas gracias.
[import]uid: 173185 topic_id: 30238 reply_id: 330238[/import]

Hola,
El problema de los emuladores puede ser por muchos motivos, en cuanto a que las imágenes no funcionen correctamente es debido a que debes utilizar display.newImageRect en vez de display.newImage. [import]uid: 69828 topic_id: 30238 reply_id: 121528[/import]

Hola,
El problema de los emuladores puede ser por muchos motivos, en cuanto a que las imágenes no funcionen correctamente es debido a que debes utilizar display.newImageRect en vez de display.newImage. [import]uid: 69828 topic_id: 30238 reply_id: 121528[/import]