page0039
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPU-ASKA入門 #0003
-(by [[K]], 2013.06.07)
** (0) はじめに
-以下の記事はver.0.46のWindows版を前提にしています。他の...
--たとえば osecpu046a.zip とかのことです
~
-もくじ
--[[page0036]]: #0000
--[[page0037]]: #0001
--[[page0038]]: #0002
--[[page0039]]: #0003
** (1) sleep
-junkApi_sleep(mode, msec); :
--指定された時間だけ、プログラムを停止させます。msecはミ...
--なおmsecに-1を指定することもできて、これは無限大時間のs...
--modeはとりあえず0を指定すると覚えておいてください。他の...
--なお、プログラム中で一度でもsleepを使うと、「お、このプ...
#include "osecpu_ask.h"
int32s xsiz:R00, ysiz:R01, x0:R02, y0:R03, col:R04, ...
// ゆっくりじわじわと描画されます.
for (i = 0; i != 128; i++) {
xsiz = ysiz = (144 - i) * 2;
x0 = (320 - 144) + i;
y0 = (240 - 144) + i;
col = i * 0x020201;
junkApi_fillOval(0, xsiz, ysiz, x0, y0, col);
junkApi_sleep(0, 100);
}
junkApi_sleep(0, -1); // これがないと描き終わった瞬...
** (2) アニメーション
-描画命令とsleepがあればアニメーションができます。
-ただし今(ver.0.46)のOSECPUの描画処理ルーチンはかなり手...
--OSECPUの演算能力はJITコンパイラのおかげで十分に優秀なの...
#include "osecpu_ask.h"
int32s x:R00, y:R01, vx:R02, vy:R03, tx:R04, ty:R05;
junkApi_openWin(320, 240);
x = 32; y = 0; vx = 8; vy = 8;
for (;;) {
tx = x + vx; ty = y + vy;
if (tx < 0 ) { vx = 8; }
if (tx > 320 - 16) { vx = -8; }
if (ty < 0 ) { vy = 8; }
if (ty > 240 - 16) { vy = -8; }
x += vx; y += vy;
junkApi_fillOval(4, 16, 16, x, y, 7); // ボール...
junkApi_sleep(0, 100);
junkApi_fillRect(4, 16, 16, x, y, 0); // ボール...
}
** (3) if文
-ちょっと説明が前後してしまいましたが、OSECPU-ASKAではif...
if (条件式) { 成立したときに実行される }
または
if (条件式) { 成立したときに実行される } else { 不成立の...
-if文では、 break; と continue; と goto文だけに限って、 {...
--制約が多くなってしまったのは、もちろんASKAが手抜き実装...
if (条件式) break; // これはよい.
if (条件式)
break; // これはよくない.
-しかし、たとえば if (条件式) { break; } と書いてはいけな...
-条件式に関してですが、ASKAでは&&や||がまだ使えません。代...
** (4) exit
-jnukApi_exit(i); :
--アプリケーションを終了させます。iには終了コードを指定で...
--プログラムが最後の行を実行し終わると、自動で jnukApi_ex...
** (5) inkey
-junkApi_inkey(_i, mode); :
--キー入力をするためのAPIです。このAPIは今まで紹介してき...
--現在(ver.0.47)では、OSECPU-ASKAには「関数値」という概...
k = junkApi_inkey(mode);
--代わりどう書くのかと言うと、こうします。
junkApi_inkey(k, mode);
--つまり引数の中に書いてしまうわけですね。かなりダサいで...
--このように値を渡すのではなく受け取るために指定する場合...
--キーコードは基本的には文字コードですが、いくつかのキー...
-1 キーは入力されていない
27 Escキー
4128 PageUp
4129 PageDown
4130 End
4131 Home
4132 ←
4133 ↑
4134 →
4135 ↓
4136 Insert
4137 Delete
--modeは、とりあえず常に1にしておきます。他の値の説明はま...
** (6) アニメーション+キー入力=ゲーム
-キー入力に応じて、アニメーション内容が変化するようにでき...
-と思ったら点数表示ができないとだめですね。そのための説明...
-それにキャラクタも描きたいですよね・・・そのための説明も...
-じゃあ今後はそこを中心に・・・。
** つづく
-[[page0044]]につづく
* こめんと欄
#comment
終了行:
* OSECPU-ASKA入門 #0003
-(by [[K]], 2013.06.07)
** (0) はじめに
-以下の記事はver.0.46のWindows版を前提にしています。他の...
--たとえば osecpu046a.zip とかのことです
~
-もくじ
--[[page0036]]: #0000
--[[page0037]]: #0001
--[[page0038]]: #0002
--[[page0039]]: #0003
** (1) sleep
-junkApi_sleep(mode, msec); :
--指定された時間だけ、プログラムを停止させます。msecはミ...
--なおmsecに-1を指定することもできて、これは無限大時間のs...
--modeはとりあえず0を指定すると覚えておいてください。他の...
--なお、プログラム中で一度でもsleepを使うと、「お、このプ...
#include "osecpu_ask.h"
int32s xsiz:R00, ysiz:R01, x0:R02, y0:R03, col:R04, ...
// ゆっくりじわじわと描画されます.
for (i = 0; i != 128; i++) {
xsiz = ysiz = (144 - i) * 2;
x0 = (320 - 144) + i;
y0 = (240 - 144) + i;
col = i * 0x020201;
junkApi_fillOval(0, xsiz, ysiz, x0, y0, col);
junkApi_sleep(0, 100);
}
junkApi_sleep(0, -1); // これがないと描き終わった瞬...
** (2) アニメーション
-描画命令とsleepがあればアニメーションができます。
-ただし今(ver.0.46)のOSECPUの描画処理ルーチンはかなり手...
--OSECPUの演算能力はJITコンパイラのおかげで十分に優秀なの...
#include "osecpu_ask.h"
int32s x:R00, y:R01, vx:R02, vy:R03, tx:R04, ty:R05;
junkApi_openWin(320, 240);
x = 32; y = 0; vx = 8; vy = 8;
for (;;) {
tx = x + vx; ty = y + vy;
if (tx < 0 ) { vx = 8; }
if (tx > 320 - 16) { vx = -8; }
if (ty < 0 ) { vy = 8; }
if (ty > 240 - 16) { vy = -8; }
x += vx; y += vy;
junkApi_fillOval(4, 16, 16, x, y, 7); // ボール...
junkApi_sleep(0, 100);
junkApi_fillRect(4, 16, 16, x, y, 0); // ボール...
}
** (3) if文
-ちょっと説明が前後してしまいましたが、OSECPU-ASKAではif...
if (条件式) { 成立したときに実行される }
または
if (条件式) { 成立したときに実行される } else { 不成立の...
-if文では、 break; と continue; と goto文だけに限って、 {...
--制約が多くなってしまったのは、もちろんASKAが手抜き実装...
if (条件式) break; // これはよい.
if (条件式)
break; // これはよくない.
-しかし、たとえば if (条件式) { break; } と書いてはいけな...
-条件式に関してですが、ASKAでは&&や||がまだ使えません。代...
** (4) exit
-jnukApi_exit(i); :
--アプリケーションを終了させます。iには終了コードを指定で...
--プログラムが最後の行を実行し終わると、自動で jnukApi_ex...
** (5) inkey
-junkApi_inkey(_i, mode); :
--キー入力をするためのAPIです。このAPIは今まで紹介してき...
--現在(ver.0.47)では、OSECPU-ASKAには「関数値」という概...
k = junkApi_inkey(mode);
--代わりどう書くのかと言うと、こうします。
junkApi_inkey(k, mode);
--つまり引数の中に書いてしまうわけですね。かなりダサいで...
--このように値を渡すのではなく受け取るために指定する場合...
--キーコードは基本的には文字コードですが、いくつかのキー...
-1 キーは入力されていない
27 Escキー
4128 PageUp
4129 PageDown
4130 End
4131 Home
4132 ←
4133 ↑
4134 →
4135 ↓
4136 Insert
4137 Delete
--modeは、とりあえず常に1にしておきます。他の値の説明はま...
** (6) アニメーション+キー入力=ゲーム
-キー入力に応じて、アニメーション内容が変化するようにでき...
-と思ったら点数表示ができないとだめですね。そのための説明...
-それにキャラクタも描きたいですよね・・・そのための説明も...
-じゃあ今後はそこを中心に・・・。
** つづく
-[[page0044]]につづく
* こめんと欄
#comment
ページ名: