簡單的Flash GUI工具(Simple Flash GUI Tool)

原文引用:http://blog.soulwire.co.uk/code/actionscript-3/simple-flash-prototype-gui-tool#more-1242php

Simple AS3 GUI

更新:基思本身一直致力於相似的想法,並釋放 MinimalConfigurator git

基思·彼得的 最小的組件 任何Flash開發人員來講是一個很是好的工具時添加實時配置SWF。 我發現本身使用它們在個人演示和原型但與許多編輯草圖參數仍然是一個麻煩寫樣板代碼設置和安排組件,以及添加適當的事件處理程序。github

靈感來自等OpenFrameworks GUI工具 ofxSimpleGuiToo 和 ofxTweakbar ControlP5 處理,我想是時候有一個一樣快速和容易使用GUI工具Flash AS3的項目。框架

引入SimpleGUI

SimpleGUI AS3項目是一個類實用程序設計,開發人員須要迅速將UI控件變量或函數添加到一個草圖。 屬性能夠控制只有一行代碼使用各類奇妙的組件 最小的比較 集,以及自定義組件爲SimpleGUI如寫的FileChooser dom

SimpleGUI目前公開下列方法,以及開放 addControl 方法能夠傳遞任何類定義:ide

  • addColumn :開始一個新列的組件
  • addGroup :開始一個新組的組件
  • addLabel :添加一個文本框標籤或說明
  • addToggle :爲布爾值添加一個複選框
  • addButton :添加一個按鈕觸發回調
  • addSlider :建立一個滑塊數值
  • addRange :建立一個滑塊兩個數值範圍
  • addStepper :另外一個組件的滑塊數字
  • addColour :添加一個顏色選擇器爲整數
  • addComboBox :任何對象添加一個下拉列表框盒
  • addFileChooser :容許用戶加載數據
  • addSaveButton :這個觸發器生成代碼的保存方法

其餘功能包括:函數

    • 熱鍵 :顯示/隱藏分配熱鍵GUI
    • 上下文菜單 從上下文菜單項:切換GUI
    • 消息 :脈衝工具欄中的消息給用戶
    • 顯示切換 :顯示GUI時切換隱藏的
    • 保存設置 :生成AS3代碼提交你的當前值

使用SimpleGUI

每一個方法接受一個可選的參數 選項 ,這是一個簡單的動態對象,您能夠傳遞任何參數的值對應的組件,以及 回調 和 callbackParams 每次組件屬性觸發方法的變化。工具

例如,要建立一個滑塊控制一個數字,設置它的寬度、執行回調並顯示一個自定義標籤,你會寫:post

_gui.addSlider("myNumber", 0, 100, {label:"My Number", width:200, callback:onNumberChanged});

雖然能夠經過自定義標籤,每一個組件,省略此參數會致使變量名稱解析和使用的標籤。 例如,一個變量「myNumber」 將生成的標籤 「個人號碼」 ui

SimpleGUI還支持嵌套屬性,任何深度,使用普通點語法。 因此你能夠控制一個粒子的位置經過編寫:

_gui.addSlider("myParticle.position.x", 0, 1000);

這裏的代碼 演示 以上。 只有27行代碼來控制整個草圖。

_gui = new SimpleGUI(this, "Example GUI", "C");

_gui.addGroup("General Settings");
_gui.addColour("backgroundColour");
_gui.addButton("Randomise Circle Position", {callback:positionCircle, width:160});
_gui.addSaveButton();

_gui.addColumn("Noise Options");
_gui.addSlider("noiseBase.x", 10, 200);
_gui.addSlider("noiseBase.y", 10, 200);
_gui.addSlider("noiseSeed", 1, 1000);
_gui.addSlider("noiseOctaves", 1, 4);
_gui.addSlider("turbulence.x", -10, 10);
_gui.addSlider("turbulence.y", -10, 10);

_gui.addGroup("Wave Options");
_gui.addStepper("waveCount", 1, 20);
_gui.addStepper("waveSteps", 2, MAX_WAVE_STEPS);
_gui.addSlider("amplitude", 0, 200);
_gui.addColour("waveColour");

_gui.addColumn("Circle Options");
_gui.addRange("minCircleSize", "maxCircleSize", 10, 120, {label:"Circle Size Range"});
_gui.addSlider("rotationSpeed", -10, 10);
_gui.addComboBox("circle.blendMode", [

	{label:"Normal",	data:BlendMode.NORMAL},
	{label:"Darken",	data:BlendMode.DARKEN},
	{label:"Overlay",	data:BlendMode.OVERLAY},
	{label:"Difference",	data:BlendMode.DIFFERENCE},
	
]);

_gui.addFileChooser("Circle Texture", textureFileRef, textureLoaded, [
	new FileFilter("Image Files", "*.jpg;*.jpeg;*.png")
]);

_gui.addToggle("animateCircle");

_gui.addColumn("Instructions:");
_gui.addLabel("Press 'C' to toggle GUI");
_gui.addLabel("Press 'S' to copy setup code to clipboard");

_gui.show();

因此,SimpelGUI其實就是一個節省時間的開發人員但願快速原型在閃光的東西,或與控制釋放演示。 實際的努力工做已經完成 基思 在構建和維護他理所固然地受歡迎 最小的比較 

你能夠瀏覽 源代碼 或下載 SimpleGUI 下面的類。 SimpleGUI的一部分 Soulwire AS3框架 

下載: SimpleGUI
相關文章
相關標籤/搜索