1

私は比較的単純だが愚かな質問をしていますが、驚くべきことに解決策を見つけることができませんでした:(私はコロナSDKに不慣れで、画像を表示しようとしています。すべての画像はディレクトリimagesディレクトリに相対的に配置されてmain.luaいます。現在、私はこのようにしています

local IMAGE_DIR = "images";
local bg = display.newImageRect( IMAGE_DIR.. "/bg.png", 570, 360 )
mainScreenGroup:insert(bg)

そしてそれは完全に機能しています。しかし、ドキュメントによると、ここに構文があります

display.newImageRect( [parentGroup,] filename, [baseDirectory] width, height )

concatenate の代わりにIMAGE_DIR指定でき、 [baseDirectory]group に手動で挿入する代わりに、すべてを 1 行でmainScreenGroup指定できることがわかりました。[parentGroup,]しかし、私はそれを機能させることができません。フォローしてみました。

local bg = display.newImageRect( [mainScreenGroup,] "bg.png", [IMAGE_DIR] 570, 360 )
local bg = display.newImageRect( [mainScreenGroup], "bg.png", [IMAGE_DIR], 570, 360 )
local bg = display.newImageRect( [mainScreenGroup], "/bg.png", [IMAGE_DIR], 570, 360 )
local bg = display.newImageRect( mainScreenGroup, "/bg.png", IMAGE_DIR, 570, 360 )
local bg = display.newImageRect( mainScreenGroup, "bg.png", IMAGE_DIR, 570, 360 )

しかし、上記の5つのステートメントはどれも機能していません。私は間違っていますか?どんな助けでも大歓迎です。

4

3 に答える 3

2

最後の例では、ファイル名の前に「/」を付けないでくださいbg.png

local bg = display.newImageRect( mainScreenGroup, "bg.png", IMAGE_DIR, 570, 360 )
于 2013-11-11T07:35:59.027 に答える
0

IMAGE_DIR を baseDirectory として使用することはできません。ドキュメントhereおよびhereに記載されている 4 つのいずれかである必要があります。

  • system.CachesDirectory
  • system.DocumentsDirectory
  • system.ResourceDirectory
  • system.TemporaryDirectory

あなたの場合、まだ IMAGE_DIR を追加する必要がありますが、グループに bg を挿入する必要がないため、コードは次のようになります。

local IMAGE_DIR = "images/";
local bg = display.newImageRect( IMAGE_DIR.. "/bg.png", 570, 360 )
mainScreenGroup:insert(bg)

次のように変更できます。

local IMAGE_DIR = "images/";
local bg = display.newImageRect( mainScreenGroup, IMAGE_DIR.."/bg.png", 570, 360 )

Teddy Engel が述べたように、Android で system.ResourceDirectory を使用する場合は注意が必要です - docsを参照してください。

于 2013-11-13T10:49:40.673 に答える