GLベーシック

GLベーシック
開発者ドリームデザインエンターテイメントソフトウェア
安定版リリース
15.004 / 2017年8月4日 ( 2017-08-04 )
プレビューリリース
15.238
オペレーティング·システムウィンドウズ
プラットフォームWindows、Intel/PowerPC Mac、Linux (および Xbox Linux)、OS-X、Pocket PC、GP32、GP2X/GP2X Wiz、iPhone、iPad、Palm Pre/Pixi、HP WebOS デバイス (HP TouchPad、Pre2/3、Veer)、Open Pandora、Palm Pre 2/Tablet、Android
タイプコンパイラ
ライセンスWindows、Mac、Linux用の2D無料版(他の対応プラットフォーム用の期間限定版のコンパイルにも使用可能)、商用版、無料スクール版
Webサイトwww.glbasic.com

GLBasicは、 WindowsLinuxMac OS X、一部の携帯端末など、様々なプラットフォームにコンパイル可能な商用BASICプログラミング言語です。この言語はシンプルで直感的に操作できるように設計されています。

概要

GLBasicは2Dコマンド付きのインタープリタ言語として始まりました(GLはGraphics Languageの略です)。現在では多くの異なるプラットフォームでGCCコンパイラを使用して、高速でネイティブなコード結果を実現しています。GLBasicプリコンパイラ「GPC」はシンプルなBASIC言語をC++コードに変換し、後でコンパイルします。したがって、ユーザーはINLINEコマンドを使用してGLBasicを拡張し、C / C++コードをGLBasicソースコードに直接混在させることができます。このため、GLBasicはすべてのプラットフォームでサードパーティの動的ライブラリに簡単にアクセスできます。GLBasic SDKには、 WindowsLinuxMac OS XiOSWebOSの各プラットフォーム用のIDEデバッガ、 OpenGL(またはOpenGL ES )上に構築されたグラフィックスエンジンが付属しています。ハンドヘルドデバイス(Windows MobileGP2XGP2X Wiz)の場合、GLBasicは高速なグラフィックスのために独自のハードウェアに近いルーチンを使用します。

iPhoneまたはiPad用にコンパイルするには、 iMac (Apple の要件に準拠するために生成されたコードをコンパイルする場所) と最新バージョンのXcode (Apple の Web サイトから無料でダウンロード可能)が必要になります。

実際に iPhone または iPad でプログラムを実行するには (GLBasic プログラムはエミュレータでは動作しません)、iPhone Apple Developer Connectionのメンバーである必要があります。

8.054ベータ版のリリース以降、Open Pandoraマシン向けにもコンパイルが可能になりました。ただし、Windowsプログラミングツールが不足しているため、コンパイルプロセスの半分はWindows上で実行され、残りの半分は実機上で実行されていました。バージョン10以降、IDEはPandora用のパッケージをWindows上で直接ビルドします。

バージョン8.230以降は、 Palm PreなどのWeb-OSデバイス向けに、追加のハードウェアや開発者プログラムへの参加資格なしでコンパイルできます。HP TouchPadのサポートは、2011年9月にWebアップデートで追加されました。

バージョン 10.057 では、 Androidデバイスで実行されるアプリケーション パッケージをビルドするためのサポートが追加されました。

GLBasic には多数の例が付属しています。

オンライン出版

GLBasicで作成されたアプリは、Apple App StoreGoogle Play、HPのApp Catalogにアップロードできます。いずれの場合も開発者アカウントが必要です。開発者にかかる費用と公開前の審査レベルは、使用するパブリッシャーによって異なります。

Apple iOSの場合、 iOS Developer Programの料金は年間99ドルです。App Storeに公開されるすべてのアプリは、公開前に2週間の審査と承認のプロセスを受ける必要があります。

Androidの場合、1回限りの25米ドルの料金がかかります。Google Playストアで公開されたアプリは承認プロセスの対象ではなく、すぐに一般公開されます。

HP App Catalog経由で公開するには、無料アカウントが必要です。HP App Catalog経由で販売されるアプリは、公開前に5日間の審査プロセスを経て公開されます。

GLBasic では、 Intel AppUp Centre SDKのラッパーも利用できます。

特徴

GLBasic には次の機能があります。

一般的な

  • プログラムはBASICで書かれています。
  • 文字列と数値は型間で自動的に変換されます。
  • 配列は固定サイズまたは動的にすることができます。
  • サウンド、グラフィック、データを 1 つのファイルに圧縮できます。
  • ユーザーは独自の型を定義できます。型内の型や動的配列も使用できます。
  • Cコードは、開始コマンドと終了コマンドの間に適切なコードを挿入することで組み込むことができます。また、コンパイル時に組み込むこともできます。さらに、WindowsではDLL内の関数を呼び出すこともできます。
  • 一部の機能は PC 形式でのみ利用できます。
  • iOS 用のプログラムは OpenFeint を使用できます。

3D機能

  • 3Dエンジンは使いやすく、オブジェクトの高速処理を維持します。
  • オブジェクトをアニメーション化できる
  • 一般的な3Dフォーマットのほとんどに対応
  • 物体には影がつきます
  • エンティティシステムは、無料のオープンソースライブラリパッケージとして利用可能です。

2D機能

  • スプライトは回転したり拡大縮小したりすることができ、ブレンドと色の値を考慮できます。
  • 線、塗りつぶされた四角形、その他の図形を描くことができます。

ネットワーク機能

  • TCP/IP および UDP/IP ソケットが利用可能であり、また IP ソケット上に構築された高レベルのライブラリも利用可能です。

コンパイラ

  • コンパイラはクロスプラットフォームです。ただし、Appleの法的要件により、生成されたiPhoneコードをコンパイルするにはIntel Macが必要です。

IDE

  • エディタはWindows専用ですが、ほとんどの仮想マシンで十分な速度で動作します。ただし、 WineではWindows用のみコンパイル可能です。Crossover/Macのサポートはバージョン10から提供されています。
  • Mac 用のサードパーティ エディタが開発中です。

GUIシステム

GLBasic には、使いやすい GUI システムである DDgui のソース コードが付属しており、サポートされているすべてのプラットフォームで同じ外観と操作性を実現できます。

GLBasic は、Windows、Linux、Mac 向けに、ネイティブ OS の外観を提供する Tcl/Tkラッパーを移植しました。

バージョン

GLBasic は次の改訂を経てきました。

  • バージョン 1.2 - GLBasic の最初のバージョン (DiNGS Game Basic の続編としても知られる) (2000)
  • バージョン2.4 - PocketPCのサポートが導入されました
  • バージョン3.0 - (コードネーム: ベヒーモス) タイプを追加
  • バージョン4.0 - WindowsのDLLとのインターフェース機能と、Xbox(Linuxがインストールされている場合)向けのコンパイル機能が追加されました。標準的なLinuxでも動作しますが、ハードウェアアクセラレーションがないため、プログラムの実行速度は大幅に低下します。(2007年)
  • バージョン5.0 - Apple Mac用のユニバーサルアプリケーションとしてコンパイルを導入
  • バージョン6.0 - GLBasicに初めて整数が導入されました。以前は変数は浮動小数点数か文字列のいずれかでした(2008年12月)
  • バージョン 7.0 - Apple iPhone および iPod Touch デバイス用にコンパイルする機能が導入されました。(2009 年 8 月)
  • バージョン 8.2 - 非商用プロジェクトでは無料、Open Pandora プラットフォーム、iPhone/iPad をサポート (2010 年 8 月)
  • バージョン 9.0 - Palm WebOS (Palm Pre、Palm Pixi) 向けにコンパイルする機能を導入しました。(2011 年 3 月)
  • バージョン10.057 - Android向けにコンパイルする機能を導入しました
  • バージョン 10.109 - HP TouchPad などのWebOSパッドのサポートを追加しました
  • バージョン 11.0 - HTML5 サポートを追加
  • バージョン 12 - HTML5 ポート、ネイティブ GUI ライブラリの改善 (2014 年 1 月)
  • バージョン 14* - 他のプラットフォームはプラグインとしてインストールされ、PRESCALER、デバッグの改善 (2015 年 8 月) *v13 はスキップされました
  • バージョン 14 - アップデート: ネットワーク コマンドに IPv6 のサポートを導入、libPNG を更新 (2016 年 10 月)
  • バージョン 15 - 「Unicorn」、デバッグ オプションの改善、True Type フォントの追加 (2017 年 11 月)
  • バージョン 16 - Steamから入手可能、更新された C++ コンパイラ、Windows x64 サポート (2019 年 3 月)

サンプルコード

こんにちは世界

// これはコメントです // 画面位置 0,0 (上、左) に「Hello World」と出力します。 印刷 "Hello World", 0,0 // バックバッファと表示されている画面を交換し、次のレンダリングのためにバックバッファを準備します ショースクリーン // キーが押されるのを待つ キーウェイト 

限定されたオブジェクト指向のスコープ

GLBasicバージョン8では、TYPEコマンドに基本的なオブジェクト指向コマンドが追加されました。これにより、構造体は自身にアクセス(「self」コマンドを使用)したり、TYPE内に関数を記述したりできるようになりました。

シンプルなOOPテスト

タイプTvec x;y;z 関数 null: self.x = 0; self.y = 0; エンドファンクション 
 機能追加: v AS Tvec INC self.x, vx INC self.y、vy INC 自己.z、vz 終了関数 エンドタイプ 
ローカル vec AS Tvec、vec2 AS Tvec 
vec.null() vec.x=50 vec2.x = 100 vec.add(vec2) 

バージョン 8 では、128 ビットのBlowfishを使用して文字列を暗号化および復号化できます。

未来

作者が ARM64 iOS コンパイラーの問題、その他のさまざまな問題、およびソフトウェアを更新する時間が不足していることから、ソース コード (およびそれに関するフォーラム投稿) は、投稿数が 100 以上のフォーラム メンバーに提供されました。ダウンロードは圧縮すると約 2.5 GB になります。

参照

  • SdlBasic、GP2X 用のインタープリタ型 BASIC
  • ベーシック4GL
  • Fenix プロジェクトは、C++ よりも簡単に学習できるように設計されたインタプリタ言語です。
  • DarkBASIC Professional、Windows 専用の BASIC コンパイラ

参考文献

  • この記事は、GFDL の条件に基づいて利用可能なGP2X wikiから取得したコンテンツに基づいています。