Mingの使い方メモ
をテンプレートにして作成
[
Front page
] [
Page list
|
Search
|
Recent changes
|
RSS of recent changes
]
Start:
[[Ming:http://ming.sourceforge.net/]]とはFlashファイルを...
最近では[[Flex2:http://www.adobe.com/jp/products/flex/]]...
フォントの埋め込みができるというのと、C/C++から直接ストリ...
**マニュアル [#sbf4756a]
http://www.libming.org/docs/libming/index.html
http://www.libming.org/docs/perl/index.html
**コンパイル [#l9c075b4]
%%VCのプロジェクトから0.3.0のDLLを作ろうとしたが、ファイ...
結局日本語フォントを使うと落ちるのは変わらず。仕方が無い...
**ついでにPukiwikiのFlashプラグインも入れてみたよ [#gd902...
[[自作プラグイン/flash.inc.php - Pukiwiki-official:http:/...
**Sample1 [#q6ca7de0]
#include <stdio.h>
#include "ming.h"
#define FONT_FILE "Sazanami Mincho.fdb"
#define WIDTH 300
#define HEIGHT 200
#define SIZE 40
int main()
{
const char str[] = "こんにちは";
FILE *f;
SWFFont font;
SWFText text;
SWFDisplayItem d;
SWFMovie movie = newSWFMovie();
SWFMovie_setDimension(movie, WIDTH, HEIGHT);
SWFMovie_setBackground(movie, 0x33, 0x44, 0x33);
SWFMovie_setRate(movie, 12);
f = fopen(FONT_FILE, "rb");
if (f == NULL) {
printf("failed to open font file!\n");
return 1;
}
font = loadSWFFontFromFile(f);
text = newSWFText();
SWFText_setFont(text, font);
SWFText_setColor(text, 0xff, 0xff, 0xff, 0xff);
SWFText_setHeight(text, SIZE);
SWFText_setSpacing(text, 0);
SWFText_addUTF8String(text, str, NULL);
d = SWFMovie_add(movie, (SWFCharacter)text);
SWFDisplayItem_move(d, 10, 100);
SWFMovie_save(movie, "ming_test01.swf");
return 0;
}
#flash(http://reddog.s35.xrea.com/img/ming_test01.swf, 30...
**日本語 [#m001d672]
0.3.0には文字を表示するための三つの関数がある。
-void SWFText_addString(SWFText text, const char* string,...
-void SWFText_addUTF8String(SWFText text, const char* str...
-void SWFText_addWideString(SWFText text, const unsigned ...
で、日本語を使う場合、addUTF8StringかaddWideStringのどっ...
**埋め込みできる日本語TrueTypeフォント探し [#r06f4890]
-埋め込みの場合は制限無しと明記してあるもの
--[[さざなみフォント:http://wiki.fdiary.net/font/?sazanam...
--[[XANO明朝:http://www.asahi-net.or.jp/~sd5a-ucd/freefon...
--[[Y.OzFont:http://yozvox.web.infoseek.co.jp/]]
-その他制限がありそうなもの
--[[GT書体:http://www.l.u-tokyo.ac.jp/GT/]] 非営利のみ利...
--[[IPAフォント:http://www.grass-japan.org/FOSS4G/readme-...
**Mingでシンボルを作ってActionScriptでインスタンス生成 [#...
Flashのオーサリングツール上、シンボルとインスタンスと呼ば...
#include <stdio.h>
#include <ming.h>
#define WIDTH 300
#define HEIGHT 200
#define STRINGIZE1(s) #s
#define STRINGIZE(s) STRINGIZE1(s)
int main()
{
SWFMovie movie = newSWFMovie();
SWFShape shape = newSWFShape();
SWFMovieClip mc = newSWFMovieClip();
SWFFill fill;
SWFAction action;
SWFMovie_setDimension(movie, WIDTH, HEIGHT);
SWFMovie_setBackground(movie, 0xff, 0xff, 0xff);
SWFMovie_setRate(movie, 12);
SWFShape_setLineStyle(shape, 100, 0x00, 0x00, 0xff, 0xf...
fill = SWFShape_addSolidFill(shape, 0x00, 0xff, 0xff, 0...
SWFShape_setLeftFill(shape, fill);
SWFShape_movePenTo(shape, 0, 0);
SWFShape_drawLineTo(shape, 30, 0);
SWFShape_drawLineTo(shape, 30, 30);
SWFShape_drawLineTo(shape, 0, 30);
SWFShape_drawLineTo(shape, 0, 0);
SWFMovieClip_add(mc, (SWFBlock)shape);
SWFMovieClip_nextFrame(mc);
SWFMovie_addExport(movie, (SWFBlock)mc, "square");
action = compileSWFActionCode(
"for (var i = 0; i < 30; i++) {\n"
" var name = 'square' + i;\n"
" _root.attachMovie('square', name, i+1);\n"
" _root[name]._x = Math.random() * " STRINGIZE(WIDTH)...
" _root[name]._y = Math.random() * " STRINGIZE(HEIGHT...
"}\n"
);
SWFMovie_add(movie, (SWFBlock)action);
SWFMovie_save(movie, "ming_test02.swf");
return 0;
}
**ところでどうやってデバッグするんですかね…… [#ud98e407]
traceを埋め込むことはできようようだが、FlashMXから実行し...
int create_debug_trace (SWFMovie *movie)
{
SWFAction action;
SWFTextField text = newSWFTextField();
SWFBrowserFont font = newSWFBrowserFont("_serif");
SWFTextField_setBounds(text,300,50);
SWFTextField_setFlags(text,
SWFTEXTFIELD_WORDWRAP
| SWFTEXTFIELD_MULTILINE
| SWFTEXTFIELD_AUTOSIZE );
SWFTextField_setFont(text,(SWFBlock)font);
SWFTextField_setVariableName(text, "log");
SWFMovie_add(movie,(SWFBlock)text);
action = compileSWFActionCode(
"var log = '';"
"function dump(x) {\n"
" log += x + '\n';"
" log.scroll = log.maxscroll;\n"
"};\n"
"dump('*** DEBUG DUMP ***');\n"
);
SWFMovie_add(movie, (SWFBlock)action);
return 0;
}
%%色々言いたいことはあるが、%%(ありません)とりあえずこ...
createTextField('log', 1, 0, 0, 200, 50);
log.text = "debug message";
みたいにしたかったのだが、どうしてもこれができなかった。%...
int main()
{
SWFMoive movie = newSWFMoive();
Ming_useSWFVersion(6);
}
のように、Movie生成をSWFのバージョン定義をする前にしてい...
int create_debug_dump (SWFMovie *movie)
{
SWFAction action;
action = compileSWFActionCode(
"createTextField('log', 0xFFFFFFFF, 0, 0, 300, 100);...
"log.type = 'input';\n"
"log.multiline = true;\n"
"log.variable = 'logmsg';\n"
"function dump(x) {\n"
" logmsg += x + '\n';\n"
" logmsg.scroll = logmsg.maxscroll;\n"
"};\n"
"dump('*** DEBUG DUMP ***');\n"
);
SWFMovie_add(movie, (SWFBlock)action);
return 0;
}
**コメントをどーぞ [#s49e1bda]
- traceを埋め込むことはできようようだが・・・・できようよ...
#comment
----
[[CategoryFlash]]
End:
[[Ming:http://ming.sourceforge.net/]]とはFlashファイルを...
最近では[[Flex2:http://www.adobe.com/jp/products/flex/]]...
フォントの埋め込みができるというのと、C/C++から直接ストリ...
**マニュアル [#sbf4756a]
http://www.libming.org/docs/libming/index.html
http://www.libming.org/docs/perl/index.html
**コンパイル [#l9c075b4]
%%VCのプロジェクトから0.3.0のDLLを作ろうとしたが、ファイ...
結局日本語フォントを使うと落ちるのは変わらず。仕方が無い...
**ついでにPukiwikiのFlashプラグインも入れてみたよ [#gd902...
[[自作プラグイン/flash.inc.php - Pukiwiki-official:http:/...
**Sample1 [#q6ca7de0]
#include <stdio.h>
#include "ming.h"
#define FONT_FILE "Sazanami Mincho.fdb"
#define WIDTH 300
#define HEIGHT 200
#define SIZE 40
int main()
{
const char str[] = "こんにちは";
FILE *f;
SWFFont font;
SWFText text;
SWFDisplayItem d;
SWFMovie movie = newSWFMovie();
SWFMovie_setDimension(movie, WIDTH, HEIGHT);
SWFMovie_setBackground(movie, 0x33, 0x44, 0x33);
SWFMovie_setRate(movie, 12);
f = fopen(FONT_FILE, "rb");
if (f == NULL) {
printf("failed to open font file!\n");
return 1;
}
font = loadSWFFontFromFile(f);
text = newSWFText();
SWFText_setFont(text, font);
SWFText_setColor(text, 0xff, 0xff, 0xff, 0xff);
SWFText_setHeight(text, SIZE);
SWFText_setSpacing(text, 0);
SWFText_addUTF8String(text, str, NULL);
d = SWFMovie_add(movie, (SWFCharacter)text);
SWFDisplayItem_move(d, 10, 100);
SWFMovie_save(movie, "ming_test01.swf");
return 0;
}
#flash(http://reddog.s35.xrea.com/img/ming_test01.swf, 30...
**日本語 [#m001d672]
0.3.0には文字を表示するための三つの関数がある。
-void SWFText_addString(SWFText text, const char* string,...
-void SWFText_addUTF8String(SWFText text, const char* str...
-void SWFText_addWideString(SWFText text, const unsigned ...
で、日本語を使う場合、addUTF8StringかaddWideStringのどっ...
**埋め込みできる日本語TrueTypeフォント探し [#r06f4890]
-埋め込みの場合は制限無しと明記してあるもの
--[[さざなみフォント:http://wiki.fdiary.net/font/?sazanam...
--[[XANO明朝:http://www.asahi-net.or.jp/~sd5a-ucd/freefon...
--[[Y.OzFont:http://yozvox.web.infoseek.co.jp/]]
-その他制限がありそうなもの
--[[GT書体:http://www.l.u-tokyo.ac.jp/GT/]] 非営利のみ利...
--[[IPAフォント:http://www.grass-japan.org/FOSS4G/readme-...
**Mingでシンボルを作ってActionScriptでインスタンス生成 [#...
Flashのオーサリングツール上、シンボルとインスタンスと呼ば...
#include <stdio.h>
#include <ming.h>
#define WIDTH 300
#define HEIGHT 200
#define STRINGIZE1(s) #s
#define STRINGIZE(s) STRINGIZE1(s)
int main()
{
SWFMovie movie = newSWFMovie();
SWFShape shape = newSWFShape();
SWFMovieClip mc = newSWFMovieClip();
SWFFill fill;
SWFAction action;
SWFMovie_setDimension(movie, WIDTH, HEIGHT);
SWFMovie_setBackground(movie, 0xff, 0xff, 0xff);
SWFMovie_setRate(movie, 12);
SWFShape_setLineStyle(shape, 100, 0x00, 0x00, 0xff, 0xf...
fill = SWFShape_addSolidFill(shape, 0x00, 0xff, 0xff, 0...
SWFShape_setLeftFill(shape, fill);
SWFShape_movePenTo(shape, 0, 0);
SWFShape_drawLineTo(shape, 30, 0);
SWFShape_drawLineTo(shape, 30, 30);
SWFShape_drawLineTo(shape, 0, 30);
SWFShape_drawLineTo(shape, 0, 0);
SWFMovieClip_add(mc, (SWFBlock)shape);
SWFMovieClip_nextFrame(mc);
SWFMovie_addExport(movie, (SWFBlock)mc, "square");
action = compileSWFActionCode(
"for (var i = 0; i < 30; i++) {\n"
" var name = 'square' + i;\n"
" _root.attachMovie('square', name, i+1);\n"
" _root[name]._x = Math.random() * " STRINGIZE(WIDTH)...
" _root[name]._y = Math.random() * " STRINGIZE(HEIGHT...
"}\n"
);
SWFMovie_add(movie, (SWFBlock)action);
SWFMovie_save(movie, "ming_test02.swf");
return 0;
}
**ところでどうやってデバッグするんですかね…… [#ud98e407]
traceを埋め込むことはできようようだが、FlashMXから実行し...
int create_debug_trace (SWFMovie *movie)
{
SWFAction action;
SWFTextField text = newSWFTextField();
SWFBrowserFont font = newSWFBrowserFont("_serif");
SWFTextField_setBounds(text,300,50);
SWFTextField_setFlags(text,
SWFTEXTFIELD_WORDWRAP
| SWFTEXTFIELD_MULTILINE
| SWFTEXTFIELD_AUTOSIZE );
SWFTextField_setFont(text,(SWFBlock)font);
SWFTextField_setVariableName(text, "log");
SWFMovie_add(movie,(SWFBlock)text);
action = compileSWFActionCode(
"var log = '';"
"function dump(x) {\n"
" log += x + '\n';"
" log.scroll = log.maxscroll;\n"
"};\n"
"dump('*** DEBUG DUMP ***');\n"
);
SWFMovie_add(movie, (SWFBlock)action);
return 0;
}
%%色々言いたいことはあるが、%%(ありません)とりあえずこ...
createTextField('log', 1, 0, 0, 200, 50);
log.text = "debug message";
みたいにしたかったのだが、どうしてもこれができなかった。%...
int main()
{
SWFMoive movie = newSWFMoive();
Ming_useSWFVersion(6);
}
のように、Movie生成をSWFのバージョン定義をする前にしてい...
int create_debug_dump (SWFMovie *movie)
{
SWFAction action;
action = compileSWFActionCode(
"createTextField('log', 0xFFFFFFFF, 0, 0, 300, 100);...
"log.type = 'input';\n"
"log.multiline = true;\n"
"log.variable = 'logmsg';\n"
"function dump(x) {\n"
" logmsg += x + '\n';\n"
" logmsg.scroll = logmsg.maxscroll;\n"
"};\n"
"dump('*** DEBUG DUMP ***');\n"
);
SWFMovie_add(movie, (SWFBlock)action);
return 0;
}
**コメントをどーぞ [#s49e1bda]
- traceを埋め込むことはできようようだが・・・・できようよ...
#comment
----
[[CategoryFlash]]
Page:
HTML convert time: 0.003 sec.