日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

blockly和Java交互_blockly 基础学习(一)

發布時間:2023/12/15 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 blockly和Java交互_blockly 基础学习(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

構建一個Blockly應用一般包括以下步驟:集成Blockly編輯器 - 最簡單的Blockly編輯器包含了一個“工具箱”來存儲的塊(block)類型,和一個用于安裝塊的“工作區”。詳細集成方法請參考使用 Blockly,或官方文檔Web和Android

創建應用塊 - 集成Blockly后,就需要創建一些用戶代碼塊,并將其添加到Blockly“工具箱”。創建自定義塊參考官方文檔Create Custom Blocks Overview

構建應用的其余部分 - Blockly只是解決一代碼生成的部分,而應用的核心是如何使用代碼,這部分還需要開發者自行實現

開始:

1.下載源碼

2. 注入 Blockly

安裝 Blockly 并驗證其可用后,就可以引入 Blockly。如,將 Blockly 在Web頁面的一個固定尺寸的div:

3. 配置

上面的示例的Blockly.inject行中,第二個參數是一個鍵/值對字典。其用于配置Blockly,可用的配置項有:collapse - boolean。允許“塊”折疊或展開。如果工具箱有類別,默認為true;其它情況為false

comments - boolean。允許“塊”有注釋。如果工具箱有類別,默認為true;其它情況為false

css - boolean。如果設置false,則不注入 CSS;默認為true

disable - boolean。使“塊”不可用。如果工具箱有類別,默認為true;其它情況為false

grid - object。配置一個網格,使塊可以捕獲到。見Grid

horizontalLayout - boolean。設置true則工具箱使用水平布局;false則使用垂直布局。默認為false

maxBlocks - number。最大可創建的“塊”數量。默認為Infinity

media - string。Blockly 媒體文件目錄路徑。默認為"https://blockly-demo.appspot.com/static/media/"

oneBasedIndex - boolean。設置為true則字符串操作索引會從1開始;false則從0開始。默認為true

readOnly - boolean。設置為true,則禁止用戶編輯。影響“工具箱”和“垃圾桶”。默認為false

rtl - boolean。設置為true,則鏡像化編輯器。默認為false。見RTL Demo

scrollbars - boolean。設置工作區是否可滾動。如果工具箱有類別,默認為true;其它情況為false

sounds - boolean。設置為false,則點擊或刪除時不會播放聲音。默認為true

toolbox - XML節點或string。用戶可用“分類”和“塊”的結構樹。

toolboxPosition - string。設置為start,則工具箱在上部(水平顯示時)或左則(垂直顯示時)或右則(垂直LTR顯示時)。設置為end,則在相對僧。默認為start

trashcan - boolean。顯示或隱藏“垃圾桶”。如果工具箱有類別,默認為true;其它情況為false

zoom - object。工作區縮放配置。見Zoom

在以上配置中,最重要的選項是toolbox。它是一個XML節點樹,用于指定工具箱中有哪些可用的“塊”、塊如何分布、及是否有類別。

另外,除 Blockly 的默認“塊”外,定義塊需要通過調用你Web應用的API來構建。

4. 代碼生成

Blockly 是編程語言,也就不能“運行” Blockly 程序。但是你可以將 Blockly 轉為用戶所需要的JavaScript、Python、PHP、Dart或其它語言

5. “塊”的導入、導出

如果你需要將“塊”導出,以在其它應用中使用或在以后還原。可以調用以下XML:

var xml = Blockly.Xml.workspaceToDom(workspace);

var xml_text = Blockly.Xml.domToText(xml);

調用后,會生成一個最小化的包含用戶“塊”的XML。如果想使導出的XML更可讀,那么可以使用Blockly.Xml.domToPrettyText來代替上面方法。

恢復己導出的XML,像下面這樣即可:

var xml = Blockly.Xml.textToDom(xml_text);

Blockly.Xml.domToWorkspace(xml, workspace);

6. 云存儲

Blockly 帶有一個可選的云存儲功能。它允許用戶保存、加載、共享和發布程序。如果你的項目是在云端托管,那么你可以利用此服務的優勢。

總結

以上是生活随笔為你收集整理的blockly和Java交互_blockly 基础学习(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。