Animation 在Corona SDK中实现逐帧动画的更好方法
在主应用程序菜单出现之前,我需要在启动屏幕后显示动画。设计师在3D软件中制作动画,并以PNG图像逐帧导出 我四处搜索,找到了某人推荐的MovieClip库。我使用了它,在Corona的模拟器中运行良好,但在设备中崩溃。我想问题在于记忆 这些图像的尺寸为2048 x 1536(专为iPad视网膜屏幕设计),平均大小约为30KB。大约有300张图片。所以我也不能用spritesheet 请建议是否有更好的方式来做这种动画在科罗纳。我搜索了几天,甚至在他们的论坛上发了帖子,都没有好结果Animation 在Corona SDK中实现逐帧动画的更好方法,animation,graphics,sdk,coronasdk,frame,Animation,Graphics,Sdk,Coronasdk,Frame,在主应用程序菜单出现之前,我需要在启动屏幕后显示动画。设计师在3D软件中制作动画,并以PNG图像逐帧导出 我四处搜索,找到了某人推荐的MovieClip库。我使用了它,在Corona的模拟器中运行良好,但在设备中崩溃。我想问题在于记忆 这些图像的尺寸为2048 x 1536(专为iPad视网膜屏幕设计),平均大小约为30KB。大约有300张图片。所以我也不能用spritesheet 请建议是否有更好的方式来做这种动画在科罗纳。我搜索了几天,甚至在他们的论坛上发了帖子,都没有好结果 谢谢据我所知,
谢谢据我所知,Corona SDK不支持视频播放(除非它使用本机窗口)。如果movieclips不工作,您可以尝试加载每个图像,然后使用enterframe函数循环它们 差不多
--table to hold images you are on
local localImages = {}
--how many images in splash
local totalImages = 100
--create images
for i = 1, totalImages, 1 do
--create different images. Change these to load in images using newImageRect of course
localImages[i] = display.newRect( display.contentWidth*.5, display.contentHeight*.5, display.contentWidth, display.contentHeight )
localImages[i]:setFillColor( i/totalImages )
--make images invisible
localImages[i].isVisible = false
end
--timer
local myTimer = 1
--first frame on
localImages[1].isVisible = true
-- listener function to play images one by one
local function onEveryFrame( event )
--count
myTimer = myTimer + 1
--turn on next frame
localImages[myTimer].isVisible = true
--turn off last frame
localImages[myTimer-1].isVisible = false
--played all images in splash
if myTimer == totalImages then
--removes enterFrame
Runtime:removeEventListener( "enterFrame", onEveryFrame )
end
end
-- assign the above function as an "enterFrame" listener
Runtime:addEventListener( "enterFrame", onEveryFrame )
不知道这是否适用于您正在处理的图像类型。告诉我进展如何!:)
乔。这在图像中超过900万张……哇 电晕的设计方式需要使用精灵,所以请尝试优化PNG(我在TinyPNG(www.TinyPNG.com)方面非常幸运),然后将它们组合成精灵表并使用动画功能
请记住,您可以使用多张sprite图纸,这样您就可以将它们分为3张100,6张50,等等。我尝试了您的解决方案,结果与使用Movieclip库类似。我猜延迟是因为所有图像一次加载。我将尝试分批加载,看看是否有效。您还有其他想法吗ggest?我认为可能会发生这种情况。也许如果你优化png文件?老实说,我不确定这在Corona中是否可行。如果你与我共享png序列,我可以尝试使用它。但Corona图像指南规定,图像在任何情况下都不应超过2048x2048纹理大小。这就是我没有合并的原因把它们放在精灵纸上。