2015-06-01 75 views
0

我已經使用PyGame庫在Python中編寫了一個遊戲,我試圖將其嵌入到HTML頁面中以允許我在Web瀏覽器中播放。將Python遊戲嵌入到HTML中使用Skulpt

我正在嘗試使用JavaScript庫Skulpt來做到這一點。我附上了一個測試腳本,它能夠成功輸出下面的打印語句。

skulpt.html

<html> 
<head> 
    <script src="assets/skulpt/skulpt.js" type="text/javascript"></script> 
</head> 
<body> 
    <textarea id="pythonCode"> 
     print "I am python." 
    </textarea><br /> 
    <pre id="output"></pre> 

    <script type="text/javascript"> 
     function outf(text) { 
      var mypre = document.getElementById("output"); 
      mypre.innerHTML = mypre.innerHTML + text; 
     } 

     var code = document.getElementById("pythonCode").value; 
     Sk.configure({output:outf}); 
     eval(Sk.importMainWithBody("<stdin>",false,code)); 
    </script> 
</body> 
</html> 

輸出skulpt.html的:

enter image description here

,我遇到的問題是,當我用我的遊戲代碼,而不是簡單的print語句顯示在它上面會產生下面看到的錯誤;

enter image description here

我已經包含在正確的路徑上的所有相關的圖片到我的網絡服務器目錄。我不確定爲什麼會產生這個錯誤。任何幫助將不勝感激,謝謝!

而且,這裏是連接Python的遊戲代碼(和錯誤的現場演示):

http://nicolasward.com/portfolio/skulpt.html

+0

您的示例網站已關閉。 – albertjan

回答

0

您在第1行有很多壓痕 - >還記得,在蟒蛇,縮進總是很重要。拿走第一行的所有空格/標籤,它應該運行。

+0

縮進後我現在得到這個錯誤,'未捕獲的AssertionError:失敗:未處理的expr' – Nic

+0

它也給你一個行號? – Dagrooms

+0

沒有行號......我唯一能想到的就是pygame不能通過服務器訪問。任何想法呢? – Nic