I want to make that you can decide the look of the content (text or image …) and not creating hundred classes with Window.Alert
, Window.TextParagraph
or Window.Brouser
. Can you only answer me how? I want to make it my self and not with your codes. Only say how to do it. Thank you very much!
Main {In SC formatting}
-- setup
win = Window(50, 50)
win.logo = readImage("Documents:Logo")
win.name = "My Window Test"
-- draw
win:draw()
-- touched (t)
win:touched(t)
--[[
Information
With win.drawing = true, you can set it visible again.
]]
Class called Window
Window = class()
function Window:init(x, y, w, h)
if x==nil or y==nil then x=0 y=0 end
if w==nil then w=500 end
if h==nil then h=200 end
self.x = x
self.y = y
self.w = w
self.h = h
self.name = "Window"
self.logo = readImage("Platformer Art:Block Grass")
self.drawing = true
end
function Window:draw()
if self.drawing == true then
self.tw, self.th = textSize(self.name)
fill(255, 255, 255, 255)
rect(self.x, self.y, self.w, self.h)
-- Panel [[
rect(self.x, self.y + self.h, self.w, 75)
-- Logo
sprite(self.logo, self.x + 40, self.y + self.h + 37.5, 55, 55)
-- Name
fill(0, 0, 0, 255)
fontSize(30)
font("Baskerville")
text(self.name, self.x + self.w/2, self.y + self.h + 35)
-- Close Button
fill(0, 0, 255, 255)
rect(self.x + self.w - 65, self.y + self.h + 10, 55, 55)
fill(255, 0, 0, 255)
font("AmericanTypewriter-Bold")
fontSize(50)
text("X", self.x + self.w - 36.5, self.y + self.h + 35)
-- Panel ]]
end
end
function Window:touched(t)
if t.state == BEGAN and t.x> -60+self.x+self.w and t.x<-10+self.w+self.x and t.y>15+self.y+self.h and t.y<165+self.h+self.y then
print("Closed!")
self.drawing = false
end
end