[ 前へ | 目次 | 次へ ]

各種スプライト

スプライトには、線や幾何学図形を描画するもの、 テキストを描画するもの、画像を描画するものなど、様々な種類のものが存在します。 ここでは、各種スプライトの生成と使用方法を扱います。


点スプライト

点スプライトを生成するには、newPointSprite 関数を使用します。

- 関数仕様 -
void newPointSprite ( int x, int y, int radius )

引数x, y には点の座標を、radius には点の半径を指定します。

線スプライト

線スプライトを生成するには、newLineSprite 関数を使用します。

- 関数仕様 -
void newLineSprite ( int x1, int y1, int x2, int y2 )

引数x1, x2 には始点の座標を、x2, y2 には終点の座標を指定します。

長方形スプライト

長方形スプライトを生成するには、newRectangleSprite 関数を使用します。

- 関数仕様 -
void newRectangleSprite ( int x, int y, int width, int height, bool fill )

引数x, y には左上頂点の座標を、幅と高さを指定します。 最後の引数fill は、true の場合に塗りつぶし描画、false の場合に境界線のみの描画となります。

楕円スプライト

楕円スプライトを生成するには、newEllipseSprite 関数を使用します。

- 関数仕様 -
void newEllipseSprite ( int x, int y, int width, int height, bool fill )

引数x, y には左上頂点の座標を、幅と高さを指定します。 ここで指定した頂点領域に内接する楕円が描画されます。 最後の引数fill は、true の場合に塗りつぶし描画、false の場合に境界線のみの描画となります。

多角形スプライト

多角形スプライトを生成するには、newPolygonSprite 関数を使用します。

- 関数仕様 -
void newPolygonSprite ( int x[ ], int y[ ], bool fill )

引数x[ ], y[ ] には、多角形を構成する頂点の座標を、配列で指定します。最後の引数fill は、true の場合に塗りつぶし描画、false の場合に境界線のみの描画となります。

折れ線スプライト

折れ線スプライトを生成するには、newPolylineSprite 関数を使用します。

- 関数仕様 -
void newPolylineSprite ( int x[ ], int y[ ] )

引数x[ ], y[ ] には、多角形を構成する頂点の座標を、配列で指定します。

テキストスプライト

テキストスプライトを生成するには、newTextSprite 関数を使用します。

- 関数仕様 -
void newTextSprite ( int x, int y, int lineWidth, int lineHeight )

最初の引数rendererID には、レンダラーのID を指定します。続く引数x, x には、テキスト始点のアンダーライン(下線)の座標を指定します。座標は画面左上を原点( 0, 0 )とし、右方向にX 軸、下方向にY 軸で指定します。最後のlineWidth とlineHeight には、テキストの行幅と行間隔を指定します。描画時に行幅を超えた長いテキストは、自動で改行されて次の行に描画されます。

フォントサイズの設定

テキストの描画に使用するフォントの大きさを変更したい場合は、setSpriteFontSize 関数を使用します。

- 関数仕様 -
void setSpriteFontSize ( int SpriteID, int fontSize )

最初の引数SpriteID には、スプライトのID を指定します。続く引数fontSize には、フォントの大きさをpt(ポイント)単位で指定します。

pt というのはフォントの大きさを指定する一般的な単位で、画面表示する際に一つの基準となるのは大体12pt 前後でしょう。10pt だとやや細かい文字、15pt だと少し大きめの文字となります。ここで注意しなければならないのは、1pt が何ピクセルに対応するかというのは環境によって異なるという点です。著しく異なる事はありませんが、一文字あたり数ピクセルずれる事はよくあります。従って、テキストを描画する際は、あまりシビアではなく、ある程度ずれる事を想定したレイアウトをする事が推奨されます。

画像スプライト

画像スプライトを生成するには、newImageSprite 関数を用します。

- 関数仕様 -
void newImageSprite (
  int x, int y, int width, int height, int graphicsID
)

引数x, x には、画像を描画する左上頂点の座標を、width, height には幅と高さを指定します。最後の引数graphicsID には、描画するグラフィックスデータのID を指定します。

引数に指定するグラフィックスIDには、GraphicsライブラリのnewGraphics( string fileName )関数で画像ファイルから読み込んだものや、別のレンダラーで描画したものなどが利用できます。

プログラム例

それでは、上で扱った各種描画関数を使用してみましょう。以下のように記述し、実行してみてください。

なお、画像の描画を行う場合は、プログラムと同じフォルダに「Test.png」という名前のPNG 形式画像ファイルを置いてから実行してください。

このプログラムを実行すると、白いウィンドウが表示され、その上に様々な図形が表示されます。

実行結果
※文字に使用されるフォントは、環境によって異なります。フォントを明示したい場合にはsetSpriteFont( int SpriteID, string fontName )関数を使用してください。

※文字に使用されるフォントは、環境によって異なります。フォントを明示したい場合にはsetSpriteFont( int SpriteID, string fontName )関数を使用してください。


この階層の目次
お知らせ

リニアングラフ3DのVCSSL用APIにカメラ制御関数を追加、回転アニメーションツールも同梱
2019年10月09日 - RINEARNでは10月9日にソフトウェアの最新版をリリースしました。VCSSLのAPI関数の追加や、リニアングラフ3Dのアニメーションツールの追加など行っています。その概要をお知らせします。

小型関数電卓 RINPn(旧称リニアンプロセッサー nano)の公式ページを開設
2019年10月02日 - 現在オープンソースで開発中の、「シンプル&コンパクト」を目指した小型プログラマブル関数電卓ソフト「 RINPn 」の公式ページが、RINEARNサイト内にオープンしました。その概要をお知らせします。

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

新着
3Dグラフを回転アニメーションさせるツール

3Dグラフを、Z軸まわりにゆっくりと回転アニメーションさせるツールです。全角度のグラフを、連番の画像ファイルに保存する事もできます。
2019年10月09日
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

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

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

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

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
開発元Twitterアカウント