1 #!/usr/local/bin/ruby
2
3 # ボタンのテストをしてみよう
4
5 require 'ming'
6 # include Ming
7
8 # --- ボタンを作る
9
10 def makeRect(width, height, r, g, b) ← 四角を生成する関数
11 s = SWFShape.new;
12 ox = - width/2;
13 oy = - height/2;
14
15 s.setRightFill(s.addFill(r, g, b));
16 s.movePenTo(ox, oy);
17 s.drawLine(width, 0);
18 s.drawLine(0, height);
19 s.drawLine(- width, 0);
20 s.drawLine(0, - height);
21
22 return s; ← SWFShapeオブジェクトを返す
23 end
24
25 def create_button(width,height) ← ボタンを生成する関数
26
27 b=SWFButton.new;
28
29 # ボタンに表示できるのは、Shapeクラスのオブジェクトだけ。
30 # だから、実質レクタングルかビットマップになる。
31 b.setUp(makeRect(width+20, height+10, 0xff, 0, 0));
32 b.setOver(makeRect(width+20, height+10, 0, 0xff, 0));
33 b.setDown(makeRect(width+20, height+10, 0, 0, 0xff));
34 b.setHit(makeRect(width+20, height+10, 0, 0, 0));
35
36 return b;
37 end
38
39
40 # set_scale(1.0)
41
42 m = SWFMovie.new;
43 m.setDimension(400,400);
44 m.setRate(10);
45
46 # --------
47
48 # ボタンを作る。本当はこの中で表示文字を指定したいけれど、できない
49 b = create_button(200,50);
50
51 i = m.add(b);
52 i.moveTo(200,200);
53
54 # ボタンに文字を表示したい場合は、別途上から書かないといけない。
55 f = SWFFont.new("OmegaSerif88591-B.fdb");
56 t = SWFText.new;
57 t.setFont(f);
58 t.setColor(0, 0, 0);
59 t.setHeight(48);
60
61 width = 200;
62 height = 50;
63
64 t.moveTo(- width/2, height/2);
65 t.addString("PUSH"); ← 文字を表示
66
67 i = m.add(t);
68 i.moveTo(200,200);
69
70 m.save('example07.swf');
|