Ich bin neu in der Spieleentwicklung und versuche ein einfaches GUI-Framework für mein aktuelles Projekt zu erstellen. Ich verwende derzeit die Director-Klasse 1.4 für mein Szenenmanagement. Ich habe mein Projekt, um Szenen zu ändern, aber jetzt möchte ich ein Popup-Fenster erstellen. Ich möchte nur, dass das Popup-Fenster über der aktuellen Szene angezeigt wird, in der ich gerade bin. Im Folgenden finden Sie den Code für meine main.lua und menu.lua (meine Ausgangsszene). Wenn mir jemand helfen könnte, würde ich es sehr schätzen. Bitte versuchen Sie, so spezifisch wie möglich zu sein, weil ich Corona und Programmierung im Allgemeinen sehr neu bin.Corona SDK - Popup-Fenster (mit Director-Klasse)
main.lua
_W = display.contentWidth
_H = display.contentHeight
local director = require ("director");
local mainGroup = display.newGroup();
local function main()
mainGroup:insert(director.directorView);
director:changeScene("menu");
return true;
end
main();
menu.lua
module(..., package.seeall)
function new()
local localGroup = display.newGroup();
local bg = display.newImage("Images/background1.PNG");
local myText = display.newText("Merchant", 0, 0, native.systemFont, 24)
myText:setTextColor(255, 255, 255)
myText:setReferencePoint(display.CenterReferencePoint);
myText.x = _W/2; myText.y = _H/2;
local hero_btn = display.newImage("Images/weaponcraft.PNG", 25, 25);
hero_btn:setReferencePoint(display.BottomLeftReferencePoint);
hero_btn.x = 252; hero_btn.y = 475;
hero_btn.scene = "heroMain";
local craft_btn = display.newImage("Images/smithing.PNG", 25, 25);
craft_btn:setReferencePoint(display.BottomLeftReferencePoint);
craft_btn.x = 7; craft_btn.y = 475;
craft_btn.scene = "craftMain";
local inventory_btn = display.newImage("Images/inventory1.png");
inventory_btn:setReferencePoint(display.CenterReferencePoint);
inventory_btn.x = _W/2; inventory_btn.y = 430;
--inventory_btn.scene = "inventory";
function changeScene(e)
if(e.phase == "ended") then
director:changeScene(e.target.scene);
end
end
localGroup:insert(bg);
localGroup:insert(hero_btn);
localGroup:insert(craft_btn);
hero_btn:addEventListener("touch", changeScene);
craft_btn:addEventListener("touch", changeScene);
return localGroup;
end