[ 前へ | 目次 | 次へ ]
Now Loading...
ダウンロード
PC (※スマートフォンでは動きません) でダウンロードし、ZIPファイルを右クリックメニューから展開して、できたフォルダ内の「 VCSSL.bat(バッチファイル) 」をダブルクリックすると起動します。 Linux等では「 VCSSL.jar 」をコマンド実行してください。
» 詳しい使用方法や、エラーで展開できない際の対応方法などはこちら

[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

このプログラムは、 「 VCSSL GUI開発ガイド 」 の 「 イベント処理 」 の回に登場するサンプルコードです。 ここでは、そのサンプルコードを実行環境ごとダウンロードして、実際に実行してみる事ができます。 プログラミングガイド的な詳しい解説については、上記ページをご参照ください。

使用方法

ダウンロードと展開(解凍)

まず、PC(スマホは未対応)で上の画面の「 ダウンロード 」ボタンを押してください。 するとZIP形式で圧縮されたファイルがダウンロードされるので、そのZIPファイルを右クリックして「すべて展開」や「ここに展開」などで展開(解凍)してください。 展開が成功すると、ZIPファイルと同じ名前のフォルダができ、その中にZIPファイルの中身が入っています。

» 展開がエラーで止まってしまう場合は…

なお、Linux® 等をご使用で、右クリックメニューから展開するとファイル名が文字化けしてしまう場合は、 コマンドライン端末でZIPファイルのある場所まで cd した上で「 unzip -O cp932 ZIPファイル名 」で展開してみてください。

プログラムの起動

Microsoft® Windows® をご使用の場合

上記の通りにZIPファイルを展開したフォルダ内にある、 「 VCSSL.bat(種類はバッチファイル) 」をダブルクリック実行してください。 もしプログラムの内容を書き変えながら使いたい場合は、代わりに「 VCSSL_Editor.bat 」を実行してください。

実行すると、最初にメモリー使用量や、(必要な場合のみ)Java®実行環境を自動で入手するか 等を尋ねられるので、適時答えると、プログラムが起動します。2回目以降はすぐに起動します。

※ ここで入手したJava®実行環境は、ZIPファイルを展開した中の「 jre 」フォルダ内にダウンロードされ、このプログラムの実行のみに使用されます。PC全体に影響する形でインストールされる事はありません。

Linux® 等やその他のOSをご使用の場合

ZIPファイルを展開したフォルダ内へコマンドライン端末で cd して、以下の通り入力して実行してください:

java -jar VCSSL.jar
(プログラムの内容を書き変えながら使いたい場合は、代わりに VCSSL_Editor.jar を実行)

» javaコマンドが使用できない等のエラーが表示される場合は…

起動後

起動すると、以下のような画面が表示されます。

実行結果
実行結果
プログラムを起動すると、色々なGUIコンポーネント(画面部品)が配置されたウィンドウが立ち上がります。

画面上には、上図のように、色々な種類のGUIコンポーネント(画面部品)が配置されています。 この画面自体は、前回のサンプルコード(下記)と全く同じです。

ただ、前回のサンプルコードでは、単純に色々なGUIコンポーネントを生成して配置してみるだけのものでしたので、 配置されているボタンなどを操作しても、何も起こりませんでした。

それに対して今回のサンプルコードでは、ユーザーがGUIを操作した際に、簡単な処理を行うようにしています。 例えばボタンを押すと、「 ボタン PUSH がクリックされました。 」というメッセージが表示されます。 他にも、画面上に配置された色々なGUIコンポーネントを操作すると、それぞれ色々な反応が返ってきます。

画面上のGUIコンポーネントを操作した結果
画面上のGUIコンポーネントを操作した結果
画面上の色々なGUIコンポーネントを操作すると、それぞれ対応する処理が実行されます。

このようにユーザーがGUIコンポーネントを操作した際に行う処理(イベント処理)は、 標準で用意されているのではなく、コード内に自由に記述できます。

具体的には、GUIコンポーネントの種類に応じて、それぞれ決まった名前の関数を定義しておくと、 その関数が、コンポーネントが操作された際に実行されます。 このような関数をVCSSLではイベントハンドラ関数と呼びます。 このあたりの詳しい解説は、このサンプルコードの掲載元である 「 VCSSL GUI開発ガイド 」 の 「 イベント処理 」 の回をご参照ください。

今回のサンプルコードでは、前回のサンプルコードで構築した画面上のGUIコンポーネントに対して、 イベントハンドラ関数を追記したものになっています。

コード解説

それでは、実際にコード内容を見てみましょう。 このプログラムのコードはVCSSLで記述されています。

内容を書き変えて改造したい場合には、 プログラムのコード「 GUIEvent.vcssl 」をテキストエディタで開いて改造してください。 スクリプト言語なので、コンパイラなどの別ソフトは不要で、コードを書き換えるだけでOKです。 VCSSLはC系の単純な文法の言語なので、C言語などに触れた事のある方なら簡単に読めると思います。

コード全体は以下の通りです。

以上です。100行ちょっとのコードですね。 先にも触れましたが、詳しい解説はこのサンプルコードの掲載元である 「 VCSSL GUI開発ガイド 」 の 「 イベント処理 」 の回をご参照ください。 以下では、簡単に何をやっているかだけをまとめて見ていきます。

まずは先頭行付近です:

最初の行「 coding 〜 」は文字化け対策で、コードを書いてあるファイルの文字コードが「Shift_JIS」である事を明示しています。文字コードは他にも「UTF-8」などを使用できます。

続く「 import 〜 」の行では、VCSSLでGUIを扱う機能を提供する「 GUI 」ライブラリを読み込んでいます。 このリンク先のページで、ライブラリの仕様書(関数の一覧やそれぞれの機能説明など)を見る事ができます。

その次の行ではさらに、VCSSLで画像や描画領域などのグラフィックス関連データを扱うための「 Graphics 」ライブラリを読み込んでいます。 これは、GUI画面上に画像ファイルの内容などを表示する際に必要になります。 実際に今回のサンプルでは、画像ファイル「 Test.png 」を読み込んで、その内容を画面上に、画像ラベルというGUIコンポーネント(後述)を用いて表示しています。

ここまでがいわば下準備です。その後には、GUIコンポーネントを生成・配置して、 画面を構築する処理が記述されています:

この部分は、前回のサンプルコードほぼそのままです。従って詳しい説明は前回の記事をご参照ください:

さて、その後が今回の本題です。 各GUIコンポーネントの種類に応じて、それぞれイベントハンドラの関数を定義しています:

それぞれの関数が、何の操作に対するイベントハンドラなのかは、コード内のコメントの通りです。

上記のコードのように、VCSSLにおけるイベントハンドラは、記述的にはごく普通の関数です。 ただ、「 ボタンが押された際に呼ばれるイベントハンドラの関数名は onButtonClick 」といった具合で、 あらかじめ名前が決まっています。 逆に、そのような名前の関数を定義しておけば、それだけでイベントハンドラ関数として認識され、 GUI操作時に実行されます。登録などを行う必要は特にありません。

引数の仕様は決まっていて、最初の引数には、操作されたGUIコンポーネントのIDが渡されます。 それ以降の引数には、操作内容に関するその他の情報などが渡されますが、イベントハンドラの種類によって異なります。 詳細は、GUIライブラリの仕様書内の「 イベントハンドラ 」の項目に記載されていますので、そちらをご参照ください:

コード内容は以上です。

詳しいVCSSLのプログラミングガイド(無料)はこちらへ!

上記のコードはプログラミング言語VCSSLで記述されており、VCSSLのプログラミングガイドは下記で無料公開しています。 上記のコードを改造したい方や、新しいコードを書いてみたい方はぜひご活用ください!

ブラウザで読めるWeb版だけでなく、PDF版も無料で配布しています!

スタートアップガイド( プログラミングがはじめての方向け )
プログラミングの入門書に相当する内容です。プログラミングが初めての方はこちらがおすすめです。
即席ガイド( C系言語ユーザー向け )
C言語や C++ などのC系の言語を扱われている方が、即席でVCSSLを扱うための簡易ガイドです。
文法ガイド
VCSSLの文法や基本的な機能を淡々とまとめた、リファレンスマニュアル的な位置づけのガイドです。
GUI開発ガイド
ボタンや入力項目などのGUI部品が並ぶ、画面を備えたVCSSLプログラムを開発するためのガイドです。
2DCG開発ガイド
画面上や画像ファイルなどに、2次元的な描画を行うVCSSLプログラムを開発するためのガイドです。
3DCG開発ガイド
画面上や画像ファイルなどに、3次元的な描画を行うVCSSLプログラムを開発するためのガイドです。
標準ライブラリ 仕様書
コード内で呼び出される関数は、大半が標準ライブラリのものです。その詳細仕様を掲載しています。

ライセンス

このVCSSLコード( 拡張子が「.vcssl」のファイル )は実質的な著作権フリー(パブリックドメイン) である CC0 の状態で公開しています。 そのままでのご利用はもちろん、言語の種類を問わず、改造や流用などもご自由に行ってください。

※ ただし、このVCSSLコードの配布フォルダ内には、ダウンロード後すぐに実行できるように、 VCSSLの実行環境も同梱されており、そのライセンス文書は「 License 」フォルダ内に同梱されています (要約すると、商用・非商用問わず自由に使用できますが、使用の結果に対して開発元は一切の責任を負いません、といった具合の内容です)。 配布フォルダ内の各構成物の一覧やライセンスについては「 ReadMe_使用方法_必ずお読みください.txt 」をご参照ください。

この記事中の商標などについて

  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • Windows は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。この記事は独立著作物であり、Microsoft Corporation と関連のある、もしくはスポンサーを受けるものではありません。
  • Linux は、Linus Torvalds 氏の米国およびその他の国における商標または登録商標です。
  • その他、文中に使用されている商標は、その商標を保持する各社の各国における商標または登録商標です。

[ 前へ | 目次 | 次へ ]
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
この階層の目次
お知らせ

Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 - オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 - リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。

Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 - オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。

新着
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
開発元Twitterアカウント