TCP経由で送信するコマンドに従って、画面上に事前定義された形状を作成できるプログラムが必要です。ポートをリッスンして使用できるようにしようとしています。(ネットワーク経由で)コマンドを待つ前に、正方形を作成するために必要なコマンドがあります(ネットワークコマンド経由でその属性を変更する予定です)
問題は、グラフィックを作成したり、ウィンドウを開いたりしていないことです。
require "socket"
require "mime"
require "ltn12"
host = "localhost"
port = "8080"
server, error = socket.bind(host, port)
if not server then print("server: " .. tostring(error)) os.exit() end
screen=MOAISim.openWindow ( "test", 640, 640 )
viewport = MOAIViewport.new (screen)
viewport:setSize ( 640, 640 )
viewport:setScale ( 640, 640 )
layer = MOAILayer2D.new ()
layer:setViewport ( viewport )
MOAISim.pushRenderPass ( layer )
function fillSquare (x,y,radius,red,green,blue)
a = red/255
b = green/255
c = blue/255
MOAIGfxDevice.setPenColor ( a, b, c) -- green
MOAIGfxDevice.setPenWidth ( 2 )
MOAIDraw.fillCircle ( x, y, radius, 4 ) -- x,y,r,steps
end
function onDraw ( )
fillSquare(0,64,64, 0,0,255)
end
scriptDeck = MOAIScriptDeck.new ()
scriptDeck:setRect ( -64, -64, 64, 64 )
scriptDeck:setDrawCallback ( onDraw)
prop = MOAIProp2D.new ()
prop:setDeck ( scriptDeck )
layer:insertProp ( prop )
while 1 do
print("server: waiting for client command...")
control = server:accept()
command, error = control:receive()
print(command,error)
error = control:send("hi from Moai\n")
end
control = server:accept()でクライアントからのコマンドを待機していますが、グラフィックウィンドウを適切に開いていません。強制的に開いたりレンダリングしたりするコマンドはありますか?
ありがとうございました