プチコンまとめWiki (初代/mkII)

Mame/GRPについて色々 の変更点

パンくずリスト


#title(グラフィック命令の利用法)
#contents

//編集用コメント
//Shiftキーさん、かなり手を加えてみました。嫌だったらバックアップから復元しても構いません。-いったん(2013/5/26)
//一箇所、誤字があったので修正しておきました。-Noodel(14年4月27日)
//
//
//
//

*はじめに [#v9f21b43]
GRPはグラフイック、絵の事です。背景などに使えます。~
シューティングゲームの動かない背景や、自由に描けるメモとしてなど、たくさんの利用法があります。~
%%プチコンではグラフィック面は背景の一つ上のレイヤーに位置しているので、常にスプライトやBGの後ろになります。%%
バージョン2.0より優先順位を変更できるようになりました。

グラフィックを使いこなすのに必要な知識、それは命令を効果的に使用することです。
では、グラフイック命令についてよく分からない人に説明しましょう。

え?別にGRPED使って背景を作るからいい?
そんな事はありません。命令で入力すると、こんな特徴があります。他にもいい事があるかもしれません。

**特徴 [#bd06ea83]
-より正確に描ける

GRPEDでは、微妙にずれても命令だとピクセル単位の正確な位置に描くことができます。~
同じ図形をコピーするときなどは命令をコピーするだけなので作成が簡単になります。~

-余計なファイルがいらない

GRPEDで描いたファイルはロードが必要ですが、命令だと必要ありません。そのため、パッケージ化や付属データとして配布する必要がなくなり、便利です。

また、GRPのファイルは49164Byte(≒49KB)固定ですが、命令にすると圧倒的に使用量が少なくなるのでユーザにとってデータの節約になります。

*まず基本 [#m2171ae0]
まずは、グラッフィックを使いこなす基本を覚える前に座標と色について覚えましょう。~
プチコンでは座標が左上を原点として256*192の範囲で定義されています。~
 O―――――――――255 X
 |
 |
 |
 |
 191 Y
0からカウントしているので最大は255となります。~
ただし引数に範囲外の数値を記述することもできます。~
座標を表現する時はX座標とY座標がセットになり、(X座標,Y座標)となります。~

プチコンのグラフィックスでは同時に256色を扱え、255色は命令によって自由に定義することができます。~
デフォルトの色は説明書を確認すると良いでしょう。~


**GCLS [#mbbeb5b2]
GCLSの使い方を覚えましょう。~
簡単に言うと、絵を消します。~
正確には、引数で塗りつぶす、と言った表現になります。引数を指定することで一面を同じ色で塗りつぶすことができます。~
ただし、一度消してしまうと元の絵は''なくなってしまう''ので注意が必要です。

使用例)
#basic("GCLS 4");
こうすると、青くなりませんか?

&basic{Syntax error(1)};と出てくる場合は&basic{GCLS4};になっていませんか?

&basic{GCLS};の次にスペースを入れて下さい。((命令の後にスペースを入れない場合、「GCLS4」という命令と扱われるのでエラーになります。))

分かりましたか?これならできますね?

*絵を描く [#nba3e65e]
これが覚えてほしい事です。最初はGPSETです。
**GPSET [#j5f74a26]
これはただ点を打つだけです。
それはともかくやり方です。
#basic("GPSET 0,0,15");

左上に白い点が表示されましたね?

これは命令の単純な使い方です。

ではこの命令を改造して、もっと詳しく覚えましょう。
#basic(GPSET 40,30,9);
色と場所が変わりましたね?

40がx座標、30がy座標、9が色番号です。

**GLINE [#eb957bd2]
これは線を描く命令です。
#basic("GLINE 5,7,22,27,15");
線が出てきましたね?

5は始点x、7は始点y、22は終点x、27は終点y、15は色番号です。

**GBOX [#zbe9b37c]
これは長方形を描く命令です。~
#basic("GBOX 5,7,22,27,15");
引数はさっきと同じです。~
中身は塗りつぶさないので注意。

**GFILL [#b5099102]
塗り潰された長方形を描く命令です。
引数はGLINEやGBOXと同じです。
#basic("GFILL 0,0,255,191,0");
とすることで、GCLSと同様の効果を得られますが、描画速度がかなり遅いため、頻繁に使用する時は注意が必要です。

**GCIRCLE [#n1156f28]
円を描く命令です。~
ただし、ペイントなどのソフトで使う四角形で書くのではなく、半径を決める、という描き方になります。そのため楕円はかけません。~
この命令も描画速度が少し遅いため乱用は避けたいところです。~
#basic("GCIRCLE 50,60,20,6,0,0");
50がx座標、60がy座標、20が半径、6が色、左の0が開始角、右の0が終了角です。~
開始描くと終了角は右を0度として右回りになっています。~
V2.1からは、開始角から時計回りに終了角へ描くので注意してください。

**GPAINT [#j0f5d986]
塗り潰します。XOR表示モードには対応していないので注意してください。
#basic("GPAINT 20,80,7,10");
20がx座標、80がy座標、7が色で、10が境界色です。

* 復習 [#pb6a5e9f]
ここまでの命令を見返してみましょう。
|~命令|>|>|>|>|>|~引数|~効果|
|~|~1|~2|~3|~4|~5|~6|~|
|GCLS|色|-|-|-|-|-|一面を塗りつぶす|
|GPSET|X座標|Y座標|色|-|-|-|点を打つ|
|GLINE|始点X|始点Y|終点X|終点Y|色|-|線を引く|
|GBOX|始点X|始点Y|終点X|終点Y|色|-|箱を描く|
|GFILL|始点X|始点Y|終点X|終点Y|色|-|その範囲を塗りつぶす|
|GCIRCLE|中心X|中心Y|半径(px)|色|開始角|終了角|円を書く|
|GPAINT|X座標|Y座標|色|境界色|-|-|指定位置から塗りつぶす|


*その他の命令 [#i9853a1c]
準備中です。お待ちください。

*GRPを活かすと・・・ [#l1fde5a3]
準備(ry


*コメント [#rf941f45]
豆知識にはコメントを作るべきでないというもっともな意見のためすべてコメントアウトさせて頂きます。以降編集用のコメントは編集からしてださい。
//- ''名無しさん'' : 説明書に書いてあるレベルの内容なのでもう少しつっこんだ内容のものが欲しい (&new{2013/04/04 (木) 15:34:14};)
//- ''キービィ'' : GCKSのところ、Syntaxですよ? (&new{2013/04/04 (木) 16:07:54};)
//- ''Shiftキー'' : ↑ご報告ありがとうございます。直しておきました。 (&new{2013/04/04 (木) 16:41:11};)
//- ''名無しさん'' : 説明書と同レベル。もうちょっと書き足した方がいいかと (&new{2013/04/04 (木) 17:55:14};)
//- ''名無しさん'' : 画像付きで説明するとか (&new{2013/04/04 (木) 20:55:31};)
//- ''名無しさん'' : 指摘するなら内容をそっと追加しておこう。少しずつ良いものを作り上げていけばいい。 (&new{2013/04/04 (木) 20:58:40};)
//- ''Shiftキー'' : ↑2そうする予定です。 (&new{2013/04/04 (木) 21:27:10};)
//- ''名無しさん'' : ↑2 このページを作成した主が何をやりたいかが分からないので追加しようがない。説明書を見ても分からないような初心者に解説するページなのかGRPを使ったTips的なものを解説したいのかが分からないし。GRPについてすべて書こうとすればとてもこの1ページに収まる量にはならない。 (&new{2013/04/04 (木) 21:43:42};)
//- ''名無しさん'' : 図形オブジェクトの数が多いと、GRPリソースよりプログラムの容量の方が大きくなるかもしれないよ。 (&new{2013/04/14 (日) 15:35:41};)
//- ''Shiftキー'' : ↑49164Bよりでかいプログラムはそんな見ない。そもそもかもしれませんですし (&new{2013/04/14 (日) 15:38:31};)
//- ''名無しさん'' : 命令にする、というよりDATAとかの方が正しいかも (&new{2013/04/14 (日) 17:09:05};)
- ''名無しさん'' : 説明書に書いてあるレベルの内容なのでもう少しつっこんだ内容のものが欲しい (&new{2013/04/04 (木) 15:34:14};)
- ''キービィ'' : GCKSのところ、Syntaxですよ? (&new{2013/04/04 (木) 16:07:54};)
- ''Shiftキー'' : ↑ご報告ありがとうございます。直しておきました。 (&new{2013/04/04 (木) 16:41:11};)
- ''名無しさん'' : 説明書と同レベル。もうちょっと書き足した方がいいかと (&new{2013/04/04 (木) 17:55:14};)
- ''名無しさん'' : 画像付きで説明するとか (&new{2013/04/04 (木) 20:55:31};)
- ''名無しさん'' : 指摘するなら内容をそっと追加しておこう。少しずつ良いものを作り上げていけばいい。 (&new{2013/04/04 (木) 20:58:40};)
- ''Shiftキー'' : ↑2そうする予定です。 (&new{2013/04/04 (木) 21:27:10};)
- ''名無しさん'' : ↑2 このページを作成した主が何をやりたいかが分からないので追加しようがない。説明書を見ても分からないような初心者に解説するページなのかGRPを使ったTips的なものを解説したいのかが分からないし。GRPについてすべて書こうとすればとてもこの1ページに収まる量にはならない。 (&new{2013/04/04 (木) 21:43:42};)
- ''名無しさん'' : 図形オブジェクトの数が多いと、GRPリソースよりプログラムの容量の方が大きくなるかもしれないよ。 (&new{2013/04/14 (日) 15:35:41};)
- ''Shiftキー'' : ↑49164Bよりでかいプログラムはそんな見ない。そもそもかもしれませんですし (&new{2013/04/14 (日) 15:38:31};)
- ''名無しさん'' : 命令にする、というよりDATAとかの方が正しいかも (&new{2013/04/14 (日) 17:09:05};)

//#comment

#comment

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.015 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30