page0087
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPU-ASKA入門 #0010
-(by [[K]], 2014.06.20)
** (0) はじめに
-以下の記事はosecpu111dのWindows版を前提にしています。他...
--ちなみに[[page0074]]を読めばrev2の最新版が見つかります。
** (1) ASKAは意外に難しくない?
-いきなりですが、以下のプログラムを見てください。ちなみに...
#include "osecpu_ask.h"
api_fillRect(MODE_COL3, 7, 640, 480, 0, 0);
api_fillOval(MODE_COL3, 1, 300, 0, 320-150, 240-150);
-実質3行です。中の数字の意味はとりあえず全く分かりません...
-これをosecpuの入ったフォルダにテキストファイルとして保存...
prompt>amake app0101
-と入力すると、app0101.oseというアプリケーションファイル...
-次に
prompt>osecpu app0101.ose
-とすればこれは直ちに実行されて、以下のような画面が見える...
http://osecpu.osask.jp/download/app0038.png
-どうですか、つまり3行書くだけでこの程度の画像が表示でき...
~
-もう一つ例を示そうと思います。
#include "osecpu_ask.h"
Int32s col:R00, xsiz:R01, ysiz:R02, x0:R03, y0:R04, ...
for (i = 0; i != 128; i++) {
col = i * 0x020201;
xsiz = ysiz = (144 - i) * 2;
x0 = (320 - 144) + i;
y0 = (240 - 144) + i;
api_fillOval(MODE_COL24, col, xsiz, ysiz, x0, y0);
}
-これは実質9行です。でもたったこれだけでも、こんな画面が...
http://osecpu.osask.jp/download/app0039.jpg
-いろいろと意味の分からない英語や数字が出ていることは確か...
~
-さらにもう一例を。
#include "osecpu_ask.h"
Int32s c:R00, x:R01, y:R02;
api_openWin(256, 256);
c = 0;
for (x = 0; x != 256; x++) {
for (y = 0; y != 256; y++) {
api_drawPoint(MODE_COL24, c, x, y);
c += 0x100; // 00xxyy00
}
}
-これは実質10行です。でもたったこれだけでも、こんな画面が...
http://osecpu.osask.jp/download/app0006a.png
~
-ASKAは高級言語ではなくアセンブラという低級言語に分類され...
--ちなみに世間の普通のアセンブラはC言語の3倍以上の行数に...
-命令の細かい意味は、以降の節で説明します。
** (2) openWinとfillRect
-(1)では、api_で始まるいくつかの命令がありました。それに...
~
-まずは api_openWin(xsiz, ysiz); です。これは画面にグラフ...
-xsizにはx軸方向のピクセル数を、ysizにはy軸方向のピクセル...
-openWinは省略して、いきなり描画命令を実行させることもで...
-描画域は必ず黒で初期化されます。描画命令で指定できる座標...
~
-次は api_fillRect(mode, color, xsiz, ysiz, x0, y0); です...
-colorについてですが、こんなふうに指定します。
0x000000 : 黒、いわゆる #000000
0xffffff : 白、いわゆる #ffffff
0xff0000 : 赤、いわゆる #ff0000
-書いているときりがないので、 http://www.finitojapan.com/...
-これで基本的にはどんな色でも使えるわけですが、色数が少な...
0:0x000000 1:0xff0000 2:0x00ff00 3:0xffff00
4:0x0000ff 5:0xff00ff 6:0x00ffff 7:0xffffff
~
** つづく
-[[page0088]]につづく
*** もくじ
-[[page0087]]: #0010
--(1) ASKAは意外に難しくない?
--(2) openWinとfillRect
-[[page0088]]: #0011
--(1) drawPointとfillOvalとdrawLine(ついでにmodeについて)
--(2) とりあえずここまでで
--(3) 整数型変数
-[[page0089]]: #0012
--(1) for構文 #0
--(2) コメントについて
--(3) できそうでできないこと
--(4) 色の指定と16進数について
-[[page0093]]: #0013
--(1) sleep
--(2) アニメーション
--(3) if文
--(4) exit
--(5) inkey
--(6) アニメーション+キー入力=ゲーム
-[[page0095]]: #0014
--(1) 関数の作り方、呼び出し方
--(2) 再帰呼び出しの例
-[[page0098]]: #0015
--(1) putStringとputStringDec
--(2) drawStringとdrawStringDec
* こめんと欄
#comment
終了行:
* OSECPU-ASKA入門 #0010
-(by [[K]], 2014.06.20)
** (0) はじめに
-以下の記事はosecpu111dのWindows版を前提にしています。他...
--ちなみに[[page0074]]を読めばrev2の最新版が見つかります。
** (1) ASKAは意外に難しくない?
-いきなりですが、以下のプログラムを見てください。ちなみに...
#include "osecpu_ask.h"
api_fillRect(MODE_COL3, 7, 640, 480, 0, 0);
api_fillOval(MODE_COL3, 1, 300, 0, 320-150, 240-150);
-実質3行です。中の数字の意味はとりあえず全く分かりません...
-これをosecpuの入ったフォルダにテキストファイルとして保存...
prompt>amake app0101
-と入力すると、app0101.oseというアプリケーションファイル...
-次に
prompt>osecpu app0101.ose
-とすればこれは直ちに実行されて、以下のような画面が見える...
http://osecpu.osask.jp/download/app0038.png
-どうですか、つまり3行書くだけでこの程度の画像が表示でき...
~
-もう一つ例を示そうと思います。
#include "osecpu_ask.h"
Int32s col:R00, xsiz:R01, ysiz:R02, x0:R03, y0:R04, ...
for (i = 0; i != 128; i++) {
col = i * 0x020201;
xsiz = ysiz = (144 - i) * 2;
x0 = (320 - 144) + i;
y0 = (240 - 144) + i;
api_fillOval(MODE_COL24, col, xsiz, ysiz, x0, y0);
}
-これは実質9行です。でもたったこれだけでも、こんな画面が...
http://osecpu.osask.jp/download/app0039.jpg
-いろいろと意味の分からない英語や数字が出ていることは確か...
~
-さらにもう一例を。
#include "osecpu_ask.h"
Int32s c:R00, x:R01, y:R02;
api_openWin(256, 256);
c = 0;
for (x = 0; x != 256; x++) {
for (y = 0; y != 256; y++) {
api_drawPoint(MODE_COL24, c, x, y);
c += 0x100; // 00xxyy00
}
}
-これは実質10行です。でもたったこれだけでも、こんな画面が...
http://osecpu.osask.jp/download/app0006a.png
~
-ASKAは高級言語ではなくアセンブラという低級言語に分類され...
--ちなみに世間の普通のアセンブラはC言語の3倍以上の行数に...
-命令の細かい意味は、以降の節で説明します。
** (2) openWinとfillRect
-(1)では、api_で始まるいくつかの命令がありました。それに...
~
-まずは api_openWin(xsiz, ysiz); です。これは画面にグラフ...
-xsizにはx軸方向のピクセル数を、ysizにはy軸方向のピクセル...
-openWinは省略して、いきなり描画命令を実行させることもで...
-描画域は必ず黒で初期化されます。描画命令で指定できる座標...
~
-次は api_fillRect(mode, color, xsiz, ysiz, x0, y0); です...
-colorについてですが、こんなふうに指定します。
0x000000 : 黒、いわゆる #000000
0xffffff : 白、いわゆる #ffffff
0xff0000 : 赤、いわゆる #ff0000
-書いているときりがないので、 http://www.finitojapan.com/...
-これで基本的にはどんな色でも使えるわけですが、色数が少な...
0:0x000000 1:0xff0000 2:0x00ff00 3:0xffff00
4:0x0000ff 5:0xff00ff 6:0x00ffff 7:0xffffff
~
** つづく
-[[page0088]]につづく
*** もくじ
-[[page0087]]: #0010
--(1) ASKAは意外に難しくない?
--(2) openWinとfillRect
-[[page0088]]: #0011
--(1) drawPointとfillOvalとdrawLine(ついでにmodeについて)
--(2) とりあえずここまでで
--(3) 整数型変数
-[[page0089]]: #0012
--(1) for構文 #0
--(2) コメントについて
--(3) できそうでできないこと
--(4) 色の指定と16進数について
-[[page0093]]: #0013
--(1) sleep
--(2) アニメーション
--(3) if文
--(4) exit
--(5) inkey
--(6) アニメーション+キー入力=ゲーム
-[[page0095]]: #0014
--(1) 関数の作り方、呼び出し方
--(2) 再帰呼び出しの例
-[[page0098]]: #0015
--(1) putStringとputStringDec
--(2) drawStringとdrawStringDec
* こめんと欄
#comment
ページ名: