aclib05
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* aclib #5 - aclライブラリ入門(1)
-(by [[K]], 2020.09.15)
** (1) はじめに
-学校や独学でC言語を勉強してみて、「1~100までの和をfor文...
-ここに紹介しているaclライブラリというのを使えば、簡単に...
-論より証拠で例を見せます。コメントが書いてありますが、も...
#include <acl.c>
void aMain()
{
AWindow *w = aOpenWin(320, 240, "Japan", 1); // 「...
aFillRect(w, 300, 220, 10, 10, 0xffffff); // 横...
aFillOval(w, 120, 120, 100, 60, 0xff0000); // 直...
aWait(-1); // 描...
}
--http://k.osask.jp/files/pic20200915a.png
-普通、グラフィックスを使ったプログラムはOS依存があり、だ...
-だからここで作ったプログラムはそのまま他でも使えます。将...
-このような性質を持つのは、なにもこのaclライブラリだけで...
-これは私の持論ですが、printfくらいしか出力関数がないと、...
----
-他にも例がないと、静止画しか描けないと誤解されそうなので...
|kcube.c : 117行 (ライブラリのsampleより)→ [[aclib09]]|...
|http://k.osask.jp/files/pic20200831a.jpg||http://k.osask...
~
|reversi2.c : 249行 (追加用のアプリパックより)→ [[aclib...
|http://k.osask.jp/files/pic20200915d.png|
----
-以下は静止画ですが、きれいだと思うのでここでも紹介してお...
|mandel.c : 40行 (ライブラリのsampleより)→ [[aclib09]]|...
|http://k.osask.jp/files/pic20200917b.png||http://k.osask...
** (2) ダウンロード&インストール方法
-Windowsの場合: (SDL2.0対応版を使う方法と、Windows専用...
--[[aclib21]](Windows専用版をMinGW-5.1.6で使う例)
--[[aclib07]](SDL2.0対応版をMinGW-5.1.6で使う例)
-MacOSの場合:
--準備中(とりあえず今は[[aclib06]]でしのいでください)
-Linuxの場合:
--[[aclib17]]
-Androidの場合: (Android 7.0以降が必要です。スマートフ...
--[[aclib08]] (SDL2.0対応版をTermux+clangで使う例)
-ラズベリーパイの場合:
--準備中(とりあえず今は[[aclib06]]でしのいでください)
-「はりぼてOS」の場合:
--準備中
-その他(SDL2.0とCの標準ライブラリを使った一般的なやり方...
--[[aclib06]]
----
-追加用のアプリパック:
--aclライブラリを使っているアプリ集です。
--[[aclib09]] (←協力者募集中!)
----
-ついでに補足情報:
-サポート&感想用のbbs → [[aclib_bbs]]
-[[K]]の近況など → [[aclib03]]
-謝辞 → [[aclib19]]
-[Q]aclライブラリを使ったアプリはソースを公開しなければい...
-[A]いいえ、コンパイル&リンク済みの実行ファイルだけを公...
-でもソースも公開されれば、いろんな人が自分の実行環境に合...
-[Q]aclライブラリを使ってソフトウェアを作ったらオープンソ...
-[A]いいえ。そのような制約はありません。このライブラリは...
----
-余談ですが、私はWindowsとAndroidの両方でaclライブラリを...
-アプリのプログラムは全く共通で、しかもアプリの中で機種判...
-また私はAmazonで買った新品3,850円のAndroidタブレットを持...
-(時代遅れのおじさんなので、いろんなことが当たり前じゃな...
** (3) しましまを描いてみる
#include <acl.c>
void aMain()
{
AWindow *w = aOpenWin(320, 240, "stripes", 1);
int y, c;
for (y = 0; y < 240; y += 40) {
c = 0;
if (y % 80 == 0) c = 0xffffff; // もしyが80で割...
aFillRect(w, 320, 40, 0, y, c);
}
aWait(-1);
}
--http://k.osask.jp/files/pic20200915b.png
-さて、ここで出てきた関数を説明します。
-aOpenWin(xsiz, ysiz, title, autoClose)
--指定された大きさでウィンドウを開きます。ウィンドウのタ...
--autoCloseには普通は1を指定します。0にすると、ウィンドウ...
-aFillRect(xsiz, ysiz, x0, y0, col)
--塗りつぶした長方形を描きます。長方形の大きさはxsizとysi...
--x0とy0は、長方形の左上の座標がどこになるのかを指定しま...
--colは色を指定します。
-aWait(msec)
--それまでの描画内容を確実に実画面に反映させた後、指定さ...
--時間に-1を指定した場合、それは「無限」を指定したとみな...
--これを書かずにプログラムを終了してしまうと、プログラム...
--aWait(-1)の実行中でも、ウィンドウを閉じるなどすれば、プ...
-そのほかのお約束的なことも紹介しておきます。
-aclライブラリを使ったアプリでは、main()の代わりにaMain()...
-またこのaMain()は引数をとらず、返値もありません。そのま...
-エラー終了したいときは、aExitInt(status);を使います(sta...
-また標準関数群はすべて<acl.c>の中で宣言されるので、わざ...
** (4) 市松模様を描いてみる
#include <acl.c>
void aMain()
{
AWindow *w = aOpenWin(320, 240, "checkered", 1);
int x, y, c;
for (y = 0; y < 240; y += 40) {
for (x = 0; x < 320; x += 40) {
c = 0;
if ((x + y) % 80 == 0) c = 0xffffff; // もし...
aFillRect(w, 40, 40, x, y, c);
}
}
aWait(-1);
}
--http://k.osask.jp/files/pic20200915c.png
** つづく・・・
-続きはこちら→[[aclib18]]
* こめんと欄
-掲示板をご利用ください。→[[aclib_bbs]]
終了行:
* aclib #5 - aclライブラリ入門(1)
-(by [[K]], 2020.09.15)
** (1) はじめに
-学校や独学でC言語を勉強してみて、「1~100までの和をfor文...
-ここに紹介しているaclライブラリというのを使えば、簡単に...
-論より証拠で例を見せます。コメントが書いてありますが、も...
#include <acl.c>
void aMain()
{
AWindow *w = aOpenWin(320, 240, "Japan", 1); // 「...
aFillRect(w, 300, 220, 10, 10, 0xffffff); // 横...
aFillOval(w, 120, 120, 100, 60, 0xff0000); // 直...
aWait(-1); // 描...
}
--http://k.osask.jp/files/pic20200915a.png
-普通、グラフィックスを使ったプログラムはOS依存があり、だ...
-だからここで作ったプログラムはそのまま他でも使えます。将...
-このような性質を持つのは、なにもこのaclライブラリだけで...
-これは私の持論ですが、printfくらいしか出力関数がないと、...
----
-他にも例がないと、静止画しか描けないと誤解されそうなので...
|kcube.c : 117行 (ライブラリのsampleより)→ [[aclib09]]|...
|http://k.osask.jp/files/pic20200831a.jpg||http://k.osask...
~
|reversi2.c : 249行 (追加用のアプリパックより)→ [[aclib...
|http://k.osask.jp/files/pic20200915d.png|
----
-以下は静止画ですが、きれいだと思うのでここでも紹介してお...
|mandel.c : 40行 (ライブラリのsampleより)→ [[aclib09]]|...
|http://k.osask.jp/files/pic20200917b.png||http://k.osask...
** (2) ダウンロード&インストール方法
-Windowsの場合: (SDL2.0対応版を使う方法と、Windows専用...
--[[aclib21]](Windows専用版をMinGW-5.1.6で使う例)
--[[aclib07]](SDL2.0対応版をMinGW-5.1.6で使う例)
-MacOSの場合:
--準備中(とりあえず今は[[aclib06]]でしのいでください)
-Linuxの場合:
--[[aclib17]]
-Androidの場合: (Android 7.0以降が必要です。スマートフ...
--[[aclib08]] (SDL2.0対応版をTermux+clangで使う例)
-ラズベリーパイの場合:
--準備中(とりあえず今は[[aclib06]]でしのいでください)
-「はりぼてOS」の場合:
--準備中
-その他(SDL2.0とCの標準ライブラリを使った一般的なやり方...
--[[aclib06]]
----
-追加用のアプリパック:
--aclライブラリを使っているアプリ集です。
--[[aclib09]] (←協力者募集中!)
----
-ついでに補足情報:
-サポート&感想用のbbs → [[aclib_bbs]]
-[[K]]の近況など → [[aclib03]]
-謝辞 → [[aclib19]]
-[Q]aclライブラリを使ったアプリはソースを公開しなければい...
-[A]いいえ、コンパイル&リンク済みの実行ファイルだけを公...
-でもソースも公開されれば、いろんな人が自分の実行環境に合...
-[Q]aclライブラリを使ってソフトウェアを作ったらオープンソ...
-[A]いいえ。そのような制約はありません。このライブラリは...
----
-余談ですが、私はWindowsとAndroidの両方でaclライブラリを...
-アプリのプログラムは全く共通で、しかもアプリの中で機種判...
-また私はAmazonで買った新品3,850円のAndroidタブレットを持...
-(時代遅れのおじさんなので、いろんなことが当たり前じゃな...
** (3) しましまを描いてみる
#include <acl.c>
void aMain()
{
AWindow *w = aOpenWin(320, 240, "stripes", 1);
int y, c;
for (y = 0; y < 240; y += 40) {
c = 0;
if (y % 80 == 0) c = 0xffffff; // もしyが80で割...
aFillRect(w, 320, 40, 0, y, c);
}
aWait(-1);
}
--http://k.osask.jp/files/pic20200915b.png
-さて、ここで出てきた関数を説明します。
-aOpenWin(xsiz, ysiz, title, autoClose)
--指定された大きさでウィンドウを開きます。ウィンドウのタ...
--autoCloseには普通は1を指定します。0にすると、ウィンドウ...
-aFillRect(xsiz, ysiz, x0, y0, col)
--塗りつぶした長方形を描きます。長方形の大きさはxsizとysi...
--x0とy0は、長方形の左上の座標がどこになるのかを指定しま...
--colは色を指定します。
-aWait(msec)
--それまでの描画内容を確実に実画面に反映させた後、指定さ...
--時間に-1を指定した場合、それは「無限」を指定したとみな...
--これを書かずにプログラムを終了してしまうと、プログラム...
--aWait(-1)の実行中でも、ウィンドウを閉じるなどすれば、プ...
-そのほかのお約束的なことも紹介しておきます。
-aclライブラリを使ったアプリでは、main()の代わりにaMain()...
-またこのaMain()は引数をとらず、返値もありません。そのま...
-エラー終了したいときは、aExitInt(status);を使います(sta...
-また標準関数群はすべて<acl.c>の中で宣言されるので、わざ...
** (4) 市松模様を描いてみる
#include <acl.c>
void aMain()
{
AWindow *w = aOpenWin(320, 240, "checkered", 1);
int x, y, c;
for (y = 0; y < 240; y += 40) {
for (x = 0; x < 320; x += 40) {
c = 0;
if ((x + y) % 80 == 0) c = 0xffffff; // もし...
aFillRect(w, 40, 40, x, y, c);
}
}
aWait(-1);
}
--http://k.osask.jp/files/pic20200915c.png
** つづく・・・
-続きはこちら→[[aclib18]]
* こめんと欄
-掲示板をご利用ください。→[[aclib_bbs]]
ページ名: