誰(shuí)說(shuō)Sublime不能做小游戲?

github: game-of-tetris

一圖勝千言

tetris

緣起

群里有人問(wèn), Sublime能不能做點(diǎn)好玩的東西?
當(dāng)然能啊!

技術(shù)分析

本質(zhì)上是一個(gè)Sublime的插件, 用現(xiàn)有插件的API, 來(lái)實(shí)現(xiàn)一個(gè)小游戲.

輸入

  • 首先創(chuàng)建一個(gè)游戲的View, 在view.setting里面加一個(gè)游戲標(biāo)識(shí)(isGameTetris).
  • 監(jiān)聽(tīng)鍵盤(pán)事件. 如果"key": "setting.isGameTetris"等于("operator": "equal")真("operand": true), 那么觸發(fā)tetris_operation.
    { "keys": ["up"], "command": "tetris_operation", "args": {"operation": "up"}, "context":[
        { "key": "setting.isGameTetris", "operator": "equal", "operand": true }
    ]},
    { "keys": ["down"], "command": "tetris_operation", "args": {"operation": "down"}, "context":[
        { "key": "setting.isGameTetris", "operator": "equal", "operand": true }
    ]},
    { "keys": ["left"], "command": "tetris_operation", "args": {"operation": "left"}, "context":[
        { "key": "setting.isGameTetris", "operator": "equal", "operand": true }
    ]},
    { "keys": ["right"], "command": "tetris_operation", "args": {"operation": "right"}, "context":[
        { "key": "setting.isGameTetris", "operator": "equal", "operand": true }
    ]},
  • tetris_operation其實(shí)就是tetris.py里面定義的class TetrisOperation(sublime_plugin.WindowCommand):

輸出

  • 游戲的渲染, 是tetris.py里面的class TetrisRender(sublime_plugin.TextCommand):
  • 其原理就是把view里面的東西刪除, 根據(jù)游戲數(shù)據(jù), 重新insert一個(gè)新的內(nèi)容進(jìn)去.
  • 目前是很戳的字符集, 后期可能用MiniHTML來(lái)替換這個(gè)部分.

其他則是游戲的實(shí)現(xiàn)過(guò)程, 和Sublime無(wú)關(guān)(略)


EOF

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ` /* On OS X, basic text manipulations (left, right, comm...
    yanlee26閱讀 463評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,500評(píng)論 19 139
  • 本節(jié)索引 sublime Text3 插件的安裝 代碼編輯非常有用的5個(gè)插件 配置React 開(kāi)發(fā)環(huán)境所需要的插件...
    南航閱讀 43,960評(píng)論 7 24
  • 下載:Sublime Text 3 官方下載地址Sublime Text 3 漢化破解版 資料:Sublime T...
    追風(fēng)逸少丶閱讀 6,683評(píng)論 0 4
  • 丹青的備忘錄(一) 果曉紅 2017年3月29日,是忙碌、愉快而充實(shí)的一天,我除了中午吃飯的十分鐘,其余時(shí)間都在工...
    果曉紅閱讀 578評(píng)論 2 1

友情鏈接更多精彩內(nèi)容