cyross-ruby-miyako 2.0.0 → 2.0.5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +106 -154
- data/defines.h +144 -0
- data/{miyako_no_katana/extconf.rb → extconf.rb} +10 -0
- data/extern.h +29 -0
- data/install_miyako.rb +26 -14
- data/lib/Miyako/API/audio.rb +2 -2
- data/lib/Miyako/API/basic_data.rb +183 -41
- data/lib/Miyako/API/bitmap.rb +474 -2
- data/lib/Miyako/API/choices.rb +215 -48
- data/lib/Miyako/API/collision.rb +267 -251
- data/lib/Miyako/API/diagram.rb +58 -70
- data/lib/Miyako/API/drawing.rb +93 -52
- data/lib/Miyako/API/fixedmap.rb +233 -120
- data/lib/Miyako/API/font.rb +59 -40
- data/lib/Miyako/API/input.rb +34 -27
- data/lib/Miyako/API/layout.rb +154 -172
- data/lib/Miyako/API/map.rb +285 -159
- data/lib/Miyako/API/map_event.rb +4 -4
- data/lib/Miyako/API/modules.rb +1 -1
- data/lib/Miyako/API/movie.rb +8 -5
- data/lib/Miyako/API/parts.rb +44 -9
- data/lib/Miyako/API/plane.rb +37 -2
- data/lib/Miyako/API/screen.rb +90 -22
- data/lib/Miyako/API/shape.rb +118 -37
- data/lib/Miyako/API/sprite.rb +475 -61
- data/lib/Miyako/API/sprite_animation.rb +83 -63
- data/lib/Miyako/API/spriteunit.rb +47 -13
- data/lib/Miyako/API/story.rb +123 -47
- data/lib/Miyako/API/textbox.rb +361 -132
- data/lib/Miyako/API/utility.rb +388 -0
- data/lib/Miyako/API/viewport.rb +54 -349
- data/lib/Miyako/API/yuki.rb +570 -353
- data/lib/Miyako/EXT/miyako_cairo.rb +5 -3
- data/lib/Miyako/EXT/slides.rb +22 -1
- data/lib/Miyako/miyako.rb +12 -13
- data/logo/EGSR_logo.png +0 -0
- data/logo/EGSR_logo_bg.png +0 -0
- data/logo/EGSR_logo_fg.png +0 -0
- data/logo/EGSR_title_banner.png +0 -0
- data/logo/EGSR_title_logo.png +0 -0
- data/logo/miyako.png +0 -0
- data/logo/miyako_banner.png +0 -0
- data/logo/space.png +0 -0
- data/miyako_basicdata.c +590 -0
- data/miyako_bitmap.c +1225 -0
- data/miyako_collision.c +403 -0
- data/miyako_drawing.c +187 -0
- data/miyako_font.c +334 -0
- data/miyako_hsv.c +830 -0
- data/miyako_layout.c +191 -0
- data/miyako_no_katana.c +1074 -0
- data/miyako_transform.c +438 -0
- data/miyako_utility.c +288 -0
- data/sample/Animation1/m1ku.rb +10 -31
- data/sample/Animation1/readme.txt +6 -6
- data/sample/Animation2/lex.rb +1 -0
- data/sample/Animation2/readme.txt +6 -6
- data/sample/Diagram_sample/diagram_sample_yuki2.rb +152 -48
- data/sample/Diagram_sample/readme.txt +9 -6
- data/sample/Room3/blue.rb +234 -187
- data/sample/Room3/ending.rb +68 -63
- data/sample/Room3/green.rb +159 -124
- data/sample/Room3/main.rb +50 -32
- data/sample/Room3/main_component.rb +3 -2
- data/sample/Room3/readme.txt +6 -6
- data/sample/Room3/red.rb +161 -134
- data/sample/Room3/room3.rb +1 -0
- data/sample/Room3/title.rb +75 -62
- data/sample/ball_action_sample.rb +204 -0
- data/sample/blit_rop.rb +70 -0
- data/sample/cairo_sample.rb +25 -0
- data/sample/circle_collision_test.rb +66 -0
- data/sample/collision_test.rb +33 -0
- data/sample/collision_test2.rb +108 -0
- data/sample/fixed_map_test/fixed_map_sample.rb +23 -32
- data/sample/fixed_map_test/readme.txt +38 -38
- data/sample/map_test/chara.rb +17 -9
- data/sample/map_test/main_parts.rb +30 -9
- data/sample/map_test/main_scene.rb +57 -41
- data/sample/map_test/map_manager.rb +13 -30
- data/sample/map_test/map_test.rb +2 -2
- data/sample/map_test/oasis.rb +17 -11
- data/sample/map_test/readme.txt +50 -48
- data/sample/map_test/route.rb +46 -33
- data/sample/map_test/town.rb +19 -13
- data/sample/polygon_test.rb +35 -0
- data/sample/rasterscroll.rb +25 -0
- data/sample/takahashi.rb +42 -0
- data/sample/text.png +0 -0
- data/sample/textbox_sample.rb +190 -0
- data/sample/transform.rb +54 -0
- data/sample/utility_test.rb +73 -0
- data/sample/utility_test2.rb +61 -0
- data/sample/utility_test3.rb +64 -0
- data/sample/utility_test4.rb +73 -0
- data/uninstall_miyako.rb +19 -0
- data/win/miyako_no_katana.so +0 -0
- metadata +165 -148
- data/miyako.png +0 -0
- data/miyako_banner.png +0 -0
- data/miyako_no_katana/miyako_no_katana.c +0 -3301
- data/sample/fixed_map_test/map_sample.rb +0 -121
@@ -29,6 +29,16 @@ end
|
|
29
29
|
|
30
30
|
if enable_config("static-libs",false) then
|
31
31
|
have_library("SDL")
|
32
|
+
have_library("freetype")
|
33
|
+
have_library("SGE")
|
34
|
+
end
|
35
|
+
|
36
|
+
if have_library("SDL_ttf","TTF_Init") then
|
37
|
+
$CFLAGS+= " -D HAVE_SDL_TTF "
|
38
|
+
end
|
39
|
+
|
40
|
+
if have_library("SGE","sge_Line") then
|
41
|
+
$CFLAGS+= " -D HAVE_SGE "
|
32
42
|
end
|
33
43
|
|
34
44
|
create_makefile('miyako_no_katana')
|
data/extern.h
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
/*
|
2
|
+
--
|
3
|
+
Miyako v2.0 Extend Library "Miyako no Katana"
|
4
|
+
Copyright (C) 2008 Cyross Makoto
|
5
|
+
|
6
|
+
This library is free software; you can redistribute it and/or
|
7
|
+
modify it under the terms of the GNU Lesser General Public
|
8
|
+
License as published by the Free Software Foundation; either
|
9
|
+
version 2.1 of the License, or (at your option) any later version.
|
10
|
+
|
11
|
+
This library is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
Lesser General Public License for more details.
|
15
|
+
|
16
|
+
You should have received a copy of the GNU Lesser General Public
|
17
|
+
License along with this library; if not, write to the Free Software
|
18
|
+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
++
|
20
|
+
*/
|
21
|
+
|
22
|
+
extern void _miyako_setup_unit(VALUE unit, SDL_Surface *screen, MiyakoBitmap *mb, VALUE x, VALUE y, int use_yield);
|
23
|
+
extern void _miyako_setup_unit_2(VALUE unit_s, VALUE unit_d,
|
24
|
+
SDL_Surface *screen,
|
25
|
+
MiyakoBitmap *mb_s, MiyakoBitmap *mb_d,
|
26
|
+
VALUE x, VALUE y, int use_yield);
|
27
|
+
extern int _miyako_init_rect(MiyakoBitmap *src, MiyakoBitmap *dst, MiyakoSize *size);
|
28
|
+
extern void _miyako_yield_unit_1(MiyakoBitmap *src);
|
29
|
+
extern void _miyako_yield_unit_2(MiyakoBitmap *src, MiyakoBitmap *dst);
|
data/install_miyako.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Miyako2.0 install script
|
2
|
+
# 2009 Cyross Makoto
|
3
|
+
|
4
|
+
if RUBY_VERSION < '1.9.1'
|
5
|
+
puts 'Sorry. Miyako needs Ruby 1.9.1 or above...'
|
3
6
|
exit
|
4
7
|
end
|
5
8
|
|
@@ -10,8 +13,8 @@ rescue
|
|
10
13
|
exit
|
11
14
|
end
|
12
15
|
|
13
|
-
if SDL::VERSION < '2.
|
14
|
-
puts 'Sorry. Miyako needs Ruby/SDL 2.
|
16
|
+
if SDL::VERSION < '2.1'
|
17
|
+
puts 'Sorry. Miyako needs Ruby/SDL 2.1.0 or above...'
|
15
18
|
exit
|
16
19
|
end
|
17
20
|
|
@@ -35,19 +38,17 @@ osn = Config::CONFIG["target_os"].downcase
|
|
35
38
|
if osn =~ /mswin|mingw|cygwin|bccwin/
|
36
39
|
ext_dir = "win/"
|
37
40
|
elsif osn =~ /darwin/ # Mac OS X
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
41
|
+
if ENV['SDL_CONFIG_PATH']
|
42
|
+
system(Config::CONFIG["ruby_install_name"] + " extconf.rb --with-sdl-config='#{ENV['SDL_CONFIG_PATH']}'; make")
|
43
|
+
else
|
44
|
+
system(Config::CONFIG["ruby_install_name"] + " extconf.rb --with-sdl-config='sdl-config'; make")
|
42
45
|
end
|
43
|
-
system("cd miyako_no_katana/ ; " + Config::CONFIG["ruby_install_name"] + " extconf.rb --with-sdl-config='#{ENV['SDL_CONFIG_PATH']}'; make ; cp miyako_no_katana.bundle ../")
|
44
46
|
else # linux, U*IX...
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
47
|
+
if ENV['SDL_CONFIG_PATH']
|
48
|
+
system(Config::CONFIG["ruby_install_name"] + " extconf.rb --with-sdl-config='#{ENV['SDL_CONFIG_PATH']}'; make")
|
49
|
+
else
|
50
|
+
system(Config::CONFIG["ruby_install_name"] + " extconf.rb --with-sdl-config='sdl-config'; make")
|
49
51
|
end
|
50
|
-
system("cd miyako_no_katana/ ; " + Config::CONFIG["ruby_install_name"] + " extconf.rb --with-sdl-config='#{ENV['SDL_CONFIG_PATH']}'; make ; cp miyako_no_katana.so ../")
|
51
52
|
end
|
52
53
|
|
53
54
|
sitelibdir = Config::CONFIG["sitelibdir"] + "/Miyako"
|
@@ -73,3 +74,14 @@ end
|
|
73
74
|
Dir.glob("lib/Miyako/*.rb"){|fname| FileUtils.install(fname, sitelibdir, option)}
|
74
75
|
Dir.glob("lib/Miyako/API/*.rb"){|fname| FileUtils.install(fname, apidir, option)}
|
75
76
|
Dir.glob("lib/Miyako/EXT/*.rb"){|fname| FileUtils.install(fname, extdir, option)}
|
77
|
+
|
78
|
+
unless osn =~ /mswin|mingw|cygwin|bccwin/
|
79
|
+
FileUtils.chmod(0755, sitelibdir)
|
80
|
+
FileUtils.chmod(0755, apidir)
|
81
|
+
FileUtils.chmod(0755, extdir)
|
82
|
+
FileUtils.chmod(0644, sitelibdir+'/miyako.rb')
|
83
|
+
Dir.glob(sitelibdir+"/*.so"){|fname| FileUtils.chmod(0644, fname)} # for linux,bsd
|
84
|
+
Dir.glob(sitelibdir+"/*.bundle"){|fname| FileUtils.chmod(0644, fname)} # for macosx
|
85
|
+
Dir.glob(apidir+"/*.rb"){|fname| FileUtils.chmod(0644, fname)}
|
86
|
+
Dir.glob(extdir+"/*.rb"){|fname| FileUtils.chmod(0644, fname)}
|
87
|
+
end
|
data/lib/Miyako/API/audio.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
=begin
|
3
3
|
--
|
4
|
-
Miyako
|
5
|
-
Copyright (C) 2007-
|
4
|
+
Miyako v2.0
|
5
|
+
Copyright (C) 2007-2009 Cyross Makoto
|
6
6
|
|
7
7
|
This library is free software; you can redistribute it and/or
|
8
8
|
modify it under the terms of the GNU Lesser General Public
|
@@ -2,7 +2,7 @@
|
|
2
2
|
=begin
|
3
3
|
--
|
4
4
|
Miyako v2.0
|
5
|
-
Copyright (C) 2007-
|
5
|
+
Copyright (C) 2007-2009 Cyross Makoto
|
6
6
|
|
7
7
|
This library is free software; you can redistribute it and/or
|
8
8
|
modify it under the terms of the GNU Lesser General Public
|
@@ -25,23 +25,19 @@ module Miyako
|
|
25
25
|
#位置変更メソッドを追加
|
26
26
|
class PointStruct < Struct
|
27
27
|
#===位置を変更する(変化量を指定)
|
28
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
28
29
|
#_dx_:: 移動量(x方向)。単位はピクセル
|
29
30
|
#_dy_:: 移動量(y方向)。単位はピクセル
|
30
31
|
#返却値:: 自分自身を返す
|
31
32
|
def move(dx, dy)
|
32
|
-
self[0]+=dx
|
33
|
-
self[1]+=dy
|
34
|
-
return self
|
35
33
|
end
|
36
34
|
|
37
35
|
#===位置を変更する(位置指定)
|
36
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
38
37
|
#_x_:: 移動先位置(x方向)。単位はピクセル
|
39
38
|
#_y_:: 移動先位置(y方向)。単位はピクセル
|
40
39
|
#返却値:: 自分自身を返す
|
41
40
|
def move_to(x, y)
|
42
|
-
self[0]=x
|
43
|
-
self[1]=y
|
44
|
-
return self
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
@@ -49,13 +45,19 @@ module Miyako
|
|
49
45
|
#サイズ変更メソッドを追加
|
50
46
|
class SizeStruct < Struct
|
51
47
|
#===サイズを変更する(変化量を指定)
|
48
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
49
|
+
#_dw_:: 幅変更。単位はピクセル
|
50
|
+
#_dh_:: 高さ変更。単位はピクセル
|
51
|
+
#返却値:: 自分自身を返す
|
52
|
+
def resize(dw, dh)
|
53
|
+
end
|
54
|
+
|
55
|
+
#===サイズを変更する
|
56
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
52
57
|
#_w_:: 幅変更。単位はピクセル
|
53
58
|
#_h_:: 高さ変更。単位はピクセル
|
54
59
|
#返却値:: 自分自身を返す
|
55
|
-
def
|
56
|
-
self[0]=w
|
57
|
-
self[1]=h
|
58
|
-
return self
|
60
|
+
def resize_to(w, h)
|
59
61
|
end
|
60
62
|
end
|
61
63
|
|
@@ -63,33 +65,43 @@ module Miyako
|
|
63
65
|
#矩形変更メソッドを追加
|
64
66
|
class RectStruct < Struct
|
65
67
|
#===位置を変更する(変化量を指定)
|
68
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
66
69
|
#_dx_:: 移動量(x方向)。単位はピクセル
|
67
70
|
#_dy_:: 移動量(y方向)。単位はピクセル
|
68
71
|
#返却値:: 自分自身を返す
|
69
72
|
def move(dx, dy)
|
70
|
-
self[0]+=dx
|
71
|
-
self[1]+=dy
|
72
|
-
return self
|
73
73
|
end
|
74
74
|
|
75
75
|
#===位置を変更する(位置指定)
|
76
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
76
77
|
#_x_:: 移動先位置(x方向)。単位はピクセル
|
77
78
|
#_y_:: 移動先位置(y方向)。単位はピクセル
|
78
79
|
#返却値:: 自分自身を返す
|
79
80
|
def move_to(x, y)
|
80
|
-
self[0]=x
|
81
|
-
self[1]=y
|
82
|
-
return self
|
83
81
|
end
|
84
82
|
|
85
83
|
#===サイズを変更する(変化量を指定)
|
84
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
85
|
+
#_dw_:: 幅変更。単位はピクセル
|
86
|
+
#_dh_:: 高さ変更。単位はピクセル
|
87
|
+
#返却値:: 自分自身を返す
|
88
|
+
def resize(dw, dh)
|
89
|
+
end
|
90
|
+
|
91
|
+
#===サイズを変更する
|
92
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
86
93
|
#_w_:: 幅変更。単位はピクセル
|
87
94
|
#_h_:: 高さ変更。単位はピクセル
|
88
95
|
#返却値:: 自分自身を返す
|
89
|
-
def
|
90
|
-
|
91
|
-
|
92
|
-
|
96
|
+
def resize_to(w, h)
|
97
|
+
end
|
98
|
+
|
99
|
+
#===指定の座標が矩形の範囲内かを問い合わせる
|
100
|
+
#_x_:: 指定のx座標
|
101
|
+
#_y_:: 指定のy座標
|
102
|
+
#返却値:: 座標が矩形の範囲内ならtrueを返す
|
103
|
+
def in_range?(x, y)
|
104
|
+
return (x >= self[0] && y >= self[1] && x < self[0] + self[2] && y < self[1] + self[3])
|
93
105
|
end
|
94
106
|
end
|
95
107
|
|
@@ -97,40 +109,165 @@ module Miyako
|
|
97
109
|
#位置変更メソッドを追加
|
98
110
|
class SquareStruct < Struct
|
99
111
|
#===位置を変更する(変化量を指定)
|
112
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
100
113
|
#_dx_:: 移動量(x方向)。単位はピクセル
|
101
114
|
#_dy_:: 移動量(y方向)。単位はピクセル
|
102
115
|
#返却値:: 自分自身を返す
|
103
116
|
def move(dx, dy)
|
104
|
-
self[0]+=dx
|
105
|
-
self[1]+=dy
|
106
|
-
self[2]+=dx
|
107
|
-
self[3]+=dy
|
108
|
-
return self
|
109
117
|
end
|
110
118
|
|
111
119
|
#===位置を変更する(位置指定)
|
120
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
112
121
|
#_x_:: 移動先位置(x方向)。単位はピクセル
|
113
122
|
#_y_:: 移動先位置(y方向)。単位はピクセル
|
114
123
|
#返却値:: 自分自身を返す
|
115
124
|
def move_to(x, y)
|
116
|
-
w = self[2] - self[0]
|
117
|
-
h = self[3] - self[1]
|
118
|
-
self[0]=x
|
119
|
-
self[1]=y
|
120
|
-
self[2]=x+w
|
121
|
-
self[3]=y+h
|
122
|
-
return self
|
123
125
|
end
|
124
126
|
|
125
127
|
#===サイズを変更する(変化量を指定)
|
128
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
129
|
+
#_dw_:: 幅変更。単位はピクセル
|
130
|
+
#_dh_:: 高さ変更。単位はピクセル
|
131
|
+
#返却値:: 自分自身を返す
|
132
|
+
def resize(dw, dh)
|
133
|
+
end
|
134
|
+
|
135
|
+
#===サイズを変更する
|
136
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
126
137
|
#_w_:: 幅変更。単位はピクセル
|
127
138
|
#_h_:: 高さ変更。単位はピクセル
|
128
139
|
#返却値:: 自分自身を返す
|
129
|
-
def
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
140
|
+
def resize_to(w, h)
|
141
|
+
end
|
142
|
+
|
143
|
+
#===指定の座標が矩形の範囲内かを問い合わせる
|
144
|
+
#_x_:: 指定のx座標
|
145
|
+
#_y_:: 指定のy座標
|
146
|
+
#返却値:: 座標が矩形の範囲内ならtrueを返す
|
147
|
+
def in_range?(x, y)
|
148
|
+
return (x >= self[0] && y >= self[1] && x <= self[2] && y <= self[3])
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
#==線分の区間情報のための構造体クラス
|
153
|
+
#位置変更メソッドを追加
|
154
|
+
class SegmentStruct < Struct
|
155
|
+
#===Segment構造体インスタンスを生成する
|
156
|
+
# 入力した矩形情報(Rect構造体、[x,y,w,h]で表される配列)から、構造体インスタンスを生成する
|
157
|
+
#_rect_:: 算出に使用する矩形情報
|
158
|
+
#返却値:: 生成したインスタンスを返す
|
159
|
+
def SegmentStruct.create(rect)
|
160
|
+
return Segment.new([rect[0], rect[0] + rect[2] - 1],
|
161
|
+
[rect[1], rect[1] + rect[3] - 1])
|
162
|
+
end
|
163
|
+
|
164
|
+
#===位置を変更する(変化量を指定)
|
165
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
166
|
+
#_dx_:: 移動量(x方向)。単位はピクセル
|
167
|
+
#_dy_:: 移動量(y方向)。単位はピクセル
|
168
|
+
#返却値:: 自分自身を返す
|
169
|
+
def move(dx, dy)
|
170
|
+
end
|
171
|
+
|
172
|
+
#===位置を変更する(位置指定)
|
173
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
174
|
+
#_x_:: 移動先位置(x方向)。単位はピクセル
|
175
|
+
#_y_:: 移動先位置(y方向)。単位はピクセル
|
176
|
+
#返却値:: 自分自身を返す
|
177
|
+
def move_to(x, y)
|
178
|
+
end
|
179
|
+
|
180
|
+
#===サイズを変更する(変化量を指定)
|
181
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
182
|
+
#_dw_:: 幅変更。単位はピクセル
|
183
|
+
#_dh_:: 高さ変更。単位はピクセル
|
184
|
+
#返却値:: 自分自身を返す
|
185
|
+
def resize(dw, dh)
|
186
|
+
end
|
187
|
+
|
188
|
+
#===サイズを変更する
|
189
|
+
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
190
|
+
#_w_:: 幅変更。単位はピクセル
|
191
|
+
#_h_:: 高さ変更。単位はピクセル
|
192
|
+
#返却値:: 自分自身を返す
|
193
|
+
def resize_to(w, h)
|
194
|
+
end
|
195
|
+
|
196
|
+
def reset(min_x, max_x, min_y, max_y) #:nodoc:
|
197
|
+
x[0], x[1], y[0], y[1] = min_x, max_x, min_y, max_y
|
198
|
+
end
|
199
|
+
|
200
|
+
#===小線分を移動させたとき、大線分が範囲内かどうかを判別する
|
201
|
+
# 移動後の小線分が大線分の範囲内にあるかどうかをtrue/falseで取得する
|
202
|
+
#_idx_:: 判別する方向(xもしくはy)。:x, :y, 0, 1のどれかを渡す。それ以外を渡すと例外が発生する
|
203
|
+
#_big_segment_:: 大線分の範囲。[min,max]で構成された2要素の配列
|
204
|
+
#_d_:: selfの移動量
|
205
|
+
#_flag_:: 大線分の端いっぱいも範囲外に含めるときはtrueを設定する。デフォルトはfalse
|
206
|
+
#返却値:: 範囲内のときはtrue、範囲外の時はfalseを返す
|
207
|
+
def in_bounds?(idx, big_segment, d, flag = false)
|
208
|
+
raise MiyakoError, "illegal index : #{idx}" unless [0,1,:x,:y].include?(idx)
|
209
|
+
nx = self[idx][0] + d
|
210
|
+
nx2 = self[idx][1] + d
|
211
|
+
nx, nx2 = nx2, nx if nx > nx2
|
212
|
+
return flag ?
|
213
|
+
(nx >= big_segment[idx][0] && nx2 <= big_segment[idx][1]) :
|
214
|
+
(nx > big_segment[idx][0] && (nx2 - 1) < big_segment[idx][1])
|
215
|
+
end
|
216
|
+
|
217
|
+
#===小線分を移動させたとき、大線分が範囲内かどうかを判別して、その状態によって値を整数で返す
|
218
|
+
# 移動後の小線分の範囲が大線分の範囲内のときは0、
|
219
|
+
# マイナス方向で範囲外に出るときは-1、
|
220
|
+
# プラス方向で出るときは1を返す
|
221
|
+
#_idx_:: 判別する方向(xもしくはy)。:x, :y, 0, 1のどれかを渡す。それ以外を渡すと例外が発生する
|
222
|
+
#_big_segment_:: 大線分の範囲。[min,max]で構成された2要素の配列
|
223
|
+
#_d_:: selfの移動量
|
224
|
+
#_flag_:: 大線分の端いっぱいも範囲外に含めるときはtrueを設定する。デフォルトはfalse
|
225
|
+
#返却値:: 判別の結果
|
226
|
+
def in_bounds_ex?(idx, big_segment, d, flag = false)
|
227
|
+
raise MiyakoError, "illegal index : #{idx}" unless [0,1,:x,:y].include?(idx)
|
228
|
+
nx = self[idx][0] + d
|
229
|
+
nx2 = self[idx][1] + d - 1
|
230
|
+
nx, nx2 = nx2, nx if nx > nx2
|
231
|
+
return -1 if (nx < big_segment[idx][0]) || (flag && (nx == big_segment[idx][0]))
|
232
|
+
return (nx2 > big_segment[idx][1]) || (flag && (nx2 == big_segment[idx][1])) ? 1 : 0
|
233
|
+
end
|
234
|
+
|
235
|
+
#===移動先が表示範囲内かどうかを判別して、その状態によって値を整数で返す
|
236
|
+
# 移動後の小線分の範囲が大線分の範囲内のときは0、
|
237
|
+
# マイナス方向で範囲外に出るときは1、
|
238
|
+
# プラス方向で出るときは-1を返す
|
239
|
+
#_idx_:: 判別する方向(xもしくはy)。:x, :y, 0, 1のどれかを渡す。それ以外を渡すと例外が発生する
|
240
|
+
#_big_segment_:: 大線分の範囲。[min,max]で構成された2要素の配列
|
241
|
+
#_d_:: selfの移動量
|
242
|
+
#_flag_:: 大線分の端いっぱいも範囲外に含めるときはtrueを設定する。デフォルトはfalse
|
243
|
+
#返却値:: 判別の結果
|
244
|
+
def in_bounds_rev?(idx, big_segment, d, flag = false)
|
245
|
+
raise MiyakoError, "illegal index : #{idx}" unless [0,1,:x,:y].include?(idx)
|
246
|
+
nx = self[idx][0] + d
|
247
|
+
nx2 = self[idx][1] + d - 1
|
248
|
+
nx, nx2 = nx2, nx if nx > nx2
|
249
|
+
return 1 if (nx < big_segment[idx][0]) || (flag && (nx == big_segment[idx][0]))
|
250
|
+
return (nx2 > big_segment[idx][1]) || (flag && (nx2 == big_segment[idx][1])) ? -1 : 0
|
251
|
+
end
|
252
|
+
|
253
|
+
#===移動先が表示範囲内かどうかを判別して、その状態によって値を整数で返す
|
254
|
+
# 移動量が0のときは0、
|
255
|
+
# 移動後の小線分の範囲が大線分の範囲内のときは1、
|
256
|
+
# 範囲外に出るときは-1を返す
|
257
|
+
#_idx_:: 判別する方向(xもしくはy)。:x, :y, 0, 1のどれかを渡す。それ以外を渡すと例外が発生する
|
258
|
+
#_big_segment_:: 大線分の範囲。[min,max]で構成された2要素の配列
|
259
|
+
#_d_:: selfの移動量
|
260
|
+
#_flag_:: 大線分の端いっぱいも範囲外に含めるときはtrueを設定する。デフォルトはfalse
|
261
|
+
#返却値:: 判別の結果
|
262
|
+
def in_bounds_rev_ex?(idx, big_segment, d, flag = false)
|
263
|
+
raise MiyakoError, "illegal index : #{idx}" unless [0,1,:x,:y].include?(idx)
|
264
|
+
return 0 if d == 0
|
265
|
+
dir = (d <=> 0)
|
266
|
+
nx = self[idx][0] + d
|
267
|
+
nx2 = self[idx][1] + d - 1
|
268
|
+
nx, nx2 = nx2, nx if nx > nx2
|
269
|
+
return -dir if (nx < big_segment[idx][0]) || (flag && (nx == big_segment[idx][0]))
|
270
|
+
return (nx2 > big_segment[idx][1]) || (flag && (nx2 == big_segment[idx][1])) ? -dir : dir
|
134
271
|
end
|
135
272
|
end
|
136
273
|
|
@@ -158,6 +295,11 @@ module Miyako
|
|
158
295
|
#_bottom_:: 右下Y座標の値
|
159
296
|
Square = SquareStruct.new(:left, :top, :right, :bottom)
|
160
297
|
|
298
|
+
#==線分を構成するために使用する構造体
|
299
|
+
#_x_:: X方向の線分([min_x, max_x]で構成される配列)
|
300
|
+
#_y_:: Y方向の線分([min_y, max_y]で構成される配列)
|
301
|
+
Segment = SegmentStruct.new(:x, :y)
|
302
|
+
|
161
303
|
#==色を管理するクラス
|
162
304
|
#
|
163
305
|
#色情報は、[r(赤),g(緑),b(青),a(透明度)]、[r,g,b,a(透明度)]の2種類の配列
|
@@ -410,9 +552,9 @@ class Array
|
|
410
552
|
end
|
411
553
|
end
|
412
554
|
|
413
|
-
|
414
|
-
|
415
|
-
|
555
|
+
#=begin rdoc
|
556
|
+
#==1個のインスタンスでイテレータを実装できるモジュール
|
557
|
+
#=end
|
416
558
|
module SingleEnumerable
|
417
559
|
include Enumerable
|
418
560
|
|
data/lib/Miyako/API/bitmap.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
=begin
|
3
3
|
--
|
4
4
|
Miyako v2.0
|
5
|
-
Copyright (C) 2007-
|
5
|
+
Copyright (C) 2007-2009 Cyross Makoto
|
6
6
|
|
7
7
|
This library is free software; you can redistribute it and/or
|
8
8
|
modify it under the terms of the GNU Lesser General Public
|
@@ -26,10 +26,482 @@ module Miyako
|
|
26
26
|
#SDLのSurfaceクラスインスタンスを管理するクラス
|
27
27
|
class Bitmap
|
28
28
|
def Bitmap.create(w, h, flag=SDL::HWSURFACE | SDL::SRCCOLORKEY | SDL::SRCALPHA) #:nodoc:
|
29
|
-
return SDL::Surface.new(flag, w, h,
|
29
|
+
return SDL::Surface.new(flag, w, h, 32, Screen.bitmap.Rmask, Screen.bitmap.Gmask, Screen.bitmap.Bmask, Screen.bitmap.Amask)
|
30
30
|
end
|
31
|
+
|
31
32
|
def Bitmap.load(filename) #:nodoc:
|
32
33
|
return SDL::Surface.load(filename)
|
33
34
|
end
|
35
|
+
|
36
|
+
#===画像をαチャネル付き画像へ転送する
|
37
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。
|
38
|
+
#src==dstの場合、何も行わない
|
39
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
40
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
41
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
42
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
43
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
44
|
+
#_x_:: 転送先の転送開始位置(x方向・単位:ピクセル)
|
45
|
+
#_y_:: 転送先の転送開始位置(y方向・単位:ピクセル)
|
46
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
47
|
+
def Bitmap.blit_aa(src, dst, x, y)
|
48
|
+
end
|
49
|
+
|
50
|
+
#===2つの画像のandを取り、別の画像へ転送する
|
51
|
+
#範囲は、src1側SpriteUnitとsrc2側との(ow,oh)の小さい方の範囲で転送する。
|
52
|
+
#src1とsrc2の合成は、src2側SpriteUnitの(x,y)をsrc1側の起点として、src2側SpriteUnitの(ow,oh)の範囲で転送する。
|
53
|
+
#dst側は、src1側SpriteUnitの(x,y)を起点に転送する。
|
54
|
+
#以下の条件のどれかに合致しているとき、転送を行わなずにnilを返す
|
55
|
+
#1.src1とsrc2のどちらかが、もう一方の内側にない
|
56
|
+
#2.src2の大きさとdstの大きさが違う
|
57
|
+
#3.src1==src2の場合、何も行わない
|
58
|
+
#ブロックを渡すと、src1,src2,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
|
59
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
60
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
61
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
62
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
63
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
64
|
+
def Bitmap.blit_and(src, dst)
|
65
|
+
end
|
66
|
+
|
67
|
+
#===2つの画像のorを取り、別の画像へ転送する
|
68
|
+
#範囲は、src1側SpriteUnitとsrc2側との(ow,oh)の小さい方の範囲で転送する。
|
69
|
+
#src1とsrc2の合成は、src2側SpriteUnitの(x,y)をsrc1側の起点として、src2側SpriteUnitの(ow,oh)の範囲で転送する。
|
70
|
+
#dst側は、src1側SpriteUnitの(x,y)を起点に転送する。
|
71
|
+
#以下の条件のどれかに合致しているとき、転送を行わなずにnilを返す
|
72
|
+
#1.src1とsrc2のどちらかが、もう一方の内側にない
|
73
|
+
#2.src2の大きさとdstの大きさが違う
|
74
|
+
#3.src1==src2の場合、何も行わない
|
75
|
+
#ブロックを渡すと、src1,src2,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る)
|
76
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
77
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
78
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
79
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
80
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
81
|
+
def Bitmap.blit_or(src, dst)
|
82
|
+
end
|
83
|
+
|
84
|
+
#===2つの画像のxorを取り、別の画像へ転送する
|
85
|
+
#範囲は、src1側SpriteUnitとsrc2側との(ow,oh)の小さい方の範囲で転送する。
|
86
|
+
#src1とsrc2の合成は、src2側SpriteUnitの(x,y)をsrc1側の起点として、src2側SpriteUnitの(ow,oh)の範囲で転送する。
|
87
|
+
#dst側は、src1側SpriteUnitの(x,y)を起点に転送する。
|
88
|
+
#以下の条件のどれかに合致しているとき、転送を行わなずにnilを返す
|
89
|
+
#1.src1とsrc2のどちらかが、もう一方の内側にない
|
90
|
+
#2.src2の大きさとdstの大きさが違う
|
91
|
+
#3.src1==src2の場合、何も行わない
|
92
|
+
#ブロックを渡すと、src1,src2,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
93
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
94
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
95
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
96
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
97
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
98
|
+
def Bitmap.blit_xor(src, dst)
|
99
|
+
end
|
100
|
+
|
101
|
+
#===画像をαチャネル付き画像へ転送する
|
102
|
+
#引数で渡ってきた特定の色に対して、α値をゼロにする画像を生成する
|
103
|
+
#src==dstの場合、何も行わずすぐに呼びだし元に戻る
|
104
|
+
#範囲は、src側SpriteUnitの(w,h)の範囲で転送する。
|
105
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
106
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
107
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
108
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
109
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
110
|
+
#_color_key_:: 透明にしたい色(各要素がr,g,bに対応している整数の配列(0~255))
|
111
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
112
|
+
def Bitmap.ck_to_ac(src, dst, color_key)
|
113
|
+
end
|
114
|
+
|
115
|
+
#===画像のαチャネルを255に拡張する
|
116
|
+
#αチャネルの値を255に拡張する(α値をリセットする)
|
117
|
+
#範囲は、src側SpriteUnitの(w,h)の範囲で転送する。
|
118
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
119
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
120
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
121
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
122
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
123
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
124
|
+
def Bitmap.reset_ac(src, dst)
|
125
|
+
end
|
126
|
+
|
127
|
+
#===画像をαチャネル付き画像へ変換する
|
128
|
+
#24ビット画像(αチャネルがゼロの画像)に対して、すべてのα値を255にする画像を生成する
|
129
|
+
#範囲は、src側SpriteUnitの(w,h)の範囲で転送する。
|
130
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
131
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
132
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
133
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
134
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
135
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
136
|
+
def Bitmap.normal_to_ac(src, dst)
|
137
|
+
end
|
138
|
+
|
139
|
+
#===画像をαチャネル付き画像へ破壊的に変更する
|
140
|
+
#引数で渡ってきた特定の色に対して、α値をゼロにする画像を生成する
|
141
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
142
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
143
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
144
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
145
|
+
#_color_key_:: 透明にしたい色(各要素がr,g,bに対応している整数の配列(0~255))
|
146
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
147
|
+
def Bitmap.ck_to_ac!(dst, color_key)
|
148
|
+
end
|
149
|
+
|
150
|
+
#===画像のαチャネルを255に拡張する(破壊的に変更)
|
151
|
+
#αチャネルの値を255に拡張する(α値をリセットする)
|
152
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
153
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
154
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
155
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
156
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
157
|
+
def Bitmap.reset_ac!(dst)
|
158
|
+
end
|
159
|
+
|
160
|
+
#===画像をαチャネル付き画像へ破壊的に変換する
|
161
|
+
#24ビット画像(αチャネルがゼロの画像)に対して、すべてのα値を255にする画像を生成する
|
162
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
163
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
164
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
165
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
166
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
167
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
168
|
+
def Bitmap.normal_to_ac!(dst)
|
169
|
+
end
|
170
|
+
|
171
|
+
#===画面(αチャネル無し32bit画像)をαチャネル付き画像へ転送する
|
172
|
+
#α値がゼロの画像から、α値を255にする画像を生成する
|
173
|
+
#src==dstの場合、何も行わずすぐに呼びだし元に戻る
|
174
|
+
#範囲は、src側SpriteUnitの(w,h)の範囲で転送する。
|
175
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
176
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
177
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
178
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
179
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
180
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
181
|
+
def Bitmap.screen_to_ac(src, dst)
|
182
|
+
end
|
183
|
+
|
184
|
+
#===画像のαチャネルの値を一定の割合で変化させて転送する
|
185
|
+
#degreeの値が1.0に近づけば近づくほど透明に近づき、
|
186
|
+
#degreeの値が-1.0に近づけば近づくほど不透明に近づく
|
187
|
+
#(値が-1.0のときは完全不透明、値が0.0のときは変化なし、1.0のときは完全に透明になる)
|
188
|
+
#但し、元々αの値がゼロの時は変化しない
|
189
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
190
|
+
#但しsrc==dstのときはx,yを無視する
|
191
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
192
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
193
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
194
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
195
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
196
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
197
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
198
|
+
#_degree_:: 減少率。-1.0<=degree<=1.0までの実数
|
199
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
200
|
+
def Bitmap.dec_alpha(src, dst, degree)
|
201
|
+
end
|
202
|
+
|
203
|
+
#===画像の色を一定の割合で黒に近づける(ブラックアウト)
|
204
|
+
#赤・青・緑・αの各要素を一定の割合で下げ、黒色に近づける。
|
205
|
+
#degreeの値が1.0に近づけば近づくほど黒色に近づく(値が0.0のときは変化なし、1.0のときは真っ黒になる)
|
206
|
+
#αの値が0のときは変わらないことに注意!
|
207
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
208
|
+
#但しsrc==dstのときはx,yを無視する
|
209
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
210
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
211
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
212
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
213
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
214
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
215
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
216
|
+
#_degree_:: 変化率。0.0<=degree<=1.0までの実数
|
217
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
218
|
+
def Bitmap.black_out(src, dst, degree)
|
219
|
+
end
|
220
|
+
|
221
|
+
#===画像の色を一定の割合で白に近づける(ホワイトアウト)
|
222
|
+
#赤・青・緑・αの各要素を一定の割合で上げ、白色に近づける。
|
223
|
+
#degreeの値が1.0に近づけば近づくほど白色に近づく(値が0.0のときは変化なし、1.0のときは真っ白になる)
|
224
|
+
#αの値が0のときは変わらないことに注意!
|
225
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
226
|
+
#但しsrc==dstのときはx,yを無視する
|
227
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
228
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
229
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
230
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
231
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
232
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
233
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
234
|
+
#_degree_:: 変化率。0.0<=degree<=1.0までの実数
|
235
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
236
|
+
def Bitmap.white_out(src, dst, degree)
|
237
|
+
end
|
238
|
+
|
239
|
+
#===画像のRGB値を反転させる
|
240
|
+
#αチャネルの値は変更しない
|
241
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
242
|
+
#但しsrc==dstのときはx,yを無視する
|
243
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
244
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
245
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
246
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
247
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
248
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
249
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
250
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
251
|
+
def Bitmap.inverse(src, dst)
|
252
|
+
end
|
253
|
+
|
254
|
+
#===画像のαチャネルの値を一定の割合で変化させて転送する
|
255
|
+
#degreeの値が1.0に近づけば近づくほど透明に近づき、
|
256
|
+
#degreeの値が-1.0に近づけば近づくほど不透明に近づく
|
257
|
+
#(値が-1.0のときは完全不透明、値が0.0のときは変化なし、1.0のときは完全に透明になる)
|
258
|
+
#但し、元々αの値がゼロの時は変化しない
|
259
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
260
|
+
#但しsrc==dstのときはx,yを無視する
|
261
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
262
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
263
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
264
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
265
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
266
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
267
|
+
#_degree_:: 減少率。-1.0<=degree<=1.0までの実数
|
268
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
269
|
+
def Bitmap.dec_alpha!(src, degree)
|
270
|
+
end
|
271
|
+
|
272
|
+
#===画像の色を一定の割合で黒に近づける(ブラックアウト)
|
273
|
+
#赤・青・緑・αの各要素を一定の割合で下げ、黒色に近づける。
|
274
|
+
#degreeの値が1.0に近づけば近づくほど黒色に近づく(値が0.0のときは変化なし、1.0のときは真っ黒になる)
|
275
|
+
#αの値が0のときは変わらないことに注意!
|
276
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
277
|
+
#但しsrc==dstのときはx,yを無視する
|
278
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
279
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
280
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
281
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
282
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
283
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
284
|
+
#_degree_:: 変化率。0.0<=degree<=1.0までの実数
|
285
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
286
|
+
def Bitmap.black_out!(src, degree)
|
287
|
+
end
|
288
|
+
|
289
|
+
#===画像の色を一定の割合で白に近づける(ホワイトアウト)
|
290
|
+
#赤・青・緑・αの各要素を一定の割合で上げ、白色に近づける。
|
291
|
+
#degreeの値が1.0に近づけば近づくほど白色に近づく(値が0.0のときは変化なし、1.0のときは真っ白になる)
|
292
|
+
#αの値が0のときは変わらないことに注意!
|
293
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
294
|
+
#但しsrc==dstのときはx,yを無視する
|
295
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
296
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
297
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
298
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
299
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
300
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
301
|
+
#_degree_:: 変化率。0.0<=degree<=1.0までの実数
|
302
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
303
|
+
def Bitmap.white_out!(src, degree)
|
304
|
+
end
|
305
|
+
|
306
|
+
#===画像のRGB値を反転させる
|
307
|
+
#αチャネルの値は変更しない
|
308
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
309
|
+
#但しsrc==dstのときはx,yを無視する
|
310
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
311
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
312
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
313
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
314
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
315
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
316
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
317
|
+
def Bitmap.inverse!(src)
|
318
|
+
end
|
319
|
+
|
320
|
+
#===2枚の画像の加算合成を行う
|
321
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
322
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
323
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
324
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
325
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
326
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
327
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
328
|
+
def Bitmap.additive(src, dst)
|
329
|
+
end
|
330
|
+
|
331
|
+
#===2枚の画像の減算合成を行う
|
332
|
+
#範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。
|
333
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
334
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
335
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
336
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
337
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
338
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
339
|
+
def Bitmap.subtraction(src, dst)
|
340
|
+
end
|
341
|
+
|
342
|
+
#===画像を回転させて貼り付ける
|
343
|
+
#転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、(ow,oh)の範囲で転送する。
|
344
|
+
#回転の中心は(ox,oy)を起点に、(cx,cy)が中心になるように設定する。
|
345
|
+
#転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に、dst側SpriteUnitの(cx,cy)が中心になるように設定にする。
|
346
|
+
#回転角度が正だと右回り、負だと左回りに回転する
|
347
|
+
#src==dstの場合、何も行わない
|
348
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
349
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
350
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
351
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
352
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
353
|
+
#_radian_:: 回転角度。単位はラジアン。値の範囲は0<=radian<2pi
|
354
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
355
|
+
def Bitmap.rotate(src, dst, radian)
|
356
|
+
end
|
357
|
+
|
358
|
+
#===画像を拡大・縮小・鏡像(ミラー反転)させて貼り付ける
|
359
|
+
#転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、(ow,oh)の範囲で転送する。
|
360
|
+
#回転の中心は(ox,oy)を起点に、(cx,cy)が中心になるように設定する。
|
361
|
+
#転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に、dst側SpriteUnitの(cx,cy)が中心になるように設定にする。
|
362
|
+
#度合いが scale > 1.0 だと拡大、 0 < scale < 1.0 だと縮小、scale < 0.0 負だと鏡像の拡大・縮小になる(scale == -1.0 のときはミラー反転になる)
|
363
|
+
#但し、拡大率が4096分の1以下だと、拡大/縮小しない可能性がある
|
364
|
+
#src==dstの場合、何も行わない
|
365
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
366
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
367
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
368
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
369
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
370
|
+
#_xscale_:: 拡大率(x方向)
|
371
|
+
#_yscale_:: 拡大率(y方向)
|
372
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
373
|
+
def Bitmap.scale(src, dst, xscale, yscale)
|
374
|
+
end
|
375
|
+
|
376
|
+
#===画像を変形(回転・拡大・縮小・鏡像)させて貼り付ける
|
377
|
+
#転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。
|
378
|
+
#回転の中心はsrc側(ox,oy)を起点に、src側(cx,cy)が中心になるように設定する。
|
379
|
+
#転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に、dst側SpriteUnitの(cx,cy)が中心になるように設定にする。
|
380
|
+
#回転角度は、src側SpriteUnitのangleを使用する
|
381
|
+
#回転角度が正だと右回り、負だと左回りに回転する
|
382
|
+
#変形の度合いは、src側SpriteUnitのxscale, yscaleを使用する(ともに実数で指定する)。それぞれ、x方向、y方向の度合いとなる
|
383
|
+
#度合いが scale > 1.0 だと拡大、 0 < scale < 1.0 だと縮小、scale < 0.0 負だと鏡像の拡大・縮小になる
|
384
|
+
#(scale == -1.0 のときはミラー反転になる)
|
385
|
+
#但し、拡大率が4096分の1以下だと、拡大/縮小しない可能性がある
|
386
|
+
#src==dstの場合、何も行わない
|
387
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
388
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
389
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
390
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
391
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
392
|
+
#_radian_:: 回転角度。単位はラジアン。値の範囲は0<=radian<2pi
|
393
|
+
#_xscale_:: 拡大率(x方向)
|
394
|
+
#_yscale_:: 拡大率(y方向)
|
395
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
396
|
+
def Bitmap.transform(src, dst, radian, xscale, yscale)
|
397
|
+
end
|
398
|
+
|
399
|
+
#===画像の色相を変更する
|
400
|
+
#範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、
|
401
|
+
#srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する
|
402
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
403
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
404
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
405
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
406
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
407
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
408
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
409
|
+
#_degree_:: 色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0
|
410
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
411
|
+
def Bitmap.hue(src, dst, degree)
|
412
|
+
end
|
413
|
+
|
414
|
+
#===画像の彩度を変更する
|
415
|
+
#範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、
|
416
|
+
#srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する
|
417
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
418
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
419
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
420
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
421
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
422
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
423
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
424
|
+
#_saturation_:: 彩度の変更量。範囲は0.0〜1.0の実数
|
425
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
426
|
+
def Bitmap.saturation(src, dst, saturation)
|
427
|
+
end
|
428
|
+
|
429
|
+
#===画像の明度を変更する
|
430
|
+
#範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、
|
431
|
+
#srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する
|
432
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
433
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
434
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
435
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
436
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
437
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
438
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
439
|
+
#_value_:: 明度の変更量。範囲は0.0〜1.0の実数
|
440
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
441
|
+
def Bitmap.value(src, dst, value)
|
442
|
+
end
|
443
|
+
|
444
|
+
#===画像の色相・彩度・明度を変更する
|
445
|
+
#範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、
|
446
|
+
#srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する
|
447
|
+
#src == dst : 元の画像を変換した画像に置き換える
|
448
|
+
#src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き)
|
449
|
+
#ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
450
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
451
|
+
#ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。
|
452
|
+
#_src_:: 転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
453
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
454
|
+
#_degree_:: 色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0
|
455
|
+
#_saturation_:: 彩度の変更量。範囲は0.0〜1.0の実数
|
456
|
+
#_value_:: 明度の変更量。範囲は0.0〜1.0の実数
|
457
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
458
|
+
def Bitmap.hsv(src, dst, degree, saturation, value)
|
459
|
+
end
|
460
|
+
|
461
|
+
#===画像の色相を破壊的に変更する
|
462
|
+
#範囲は、(ow,oh)で転送する。転送先の描画開始位置は(ox,oy)
|
463
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
464
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
465
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
466
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
467
|
+
#_degree_:: 色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0
|
468
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
469
|
+
def Bitmap.hue!(dst, degree)
|
470
|
+
end
|
471
|
+
|
472
|
+
#===画像の彩度を破壊的に変更する
|
473
|
+
#範囲は、(ow,oh)で転送する。転送先の描画開始位置は(ox,oy)
|
474
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
475
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
476
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
477
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
478
|
+
#_saturation_:: 彩度の変更量。範囲は0.0〜1.0の実数
|
479
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
480
|
+
def Bitmap.saturation!(dst, saturation)
|
481
|
+
end
|
482
|
+
|
483
|
+
#===画像の明度を破壊的に変更する
|
484
|
+
#範囲は、(ow,oh)で転送する。転送先の描画開始位置は(ox,oy)
|
485
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
486
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
487
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
488
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
489
|
+
#_value_:: 明度の変更量。範囲は0.0〜1.0の実数
|
490
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
491
|
+
def Bitmap.value!(dst, value)
|
492
|
+
end
|
493
|
+
|
494
|
+
#===画像の色相・彩度・明度を破壊的に変更する
|
495
|
+
#範囲は、(ow,oh)で転送する。転送先の描画開始位置は(ox,oy)
|
496
|
+
#ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る
|
497
|
+
#(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
|
498
|
+
#ブロックの引数は、|dst側SpriteUnit|となる。
|
499
|
+
#_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
|
500
|
+
#_degree_:: 色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0
|
501
|
+
#_saturation_:: 彩度の変更量。範囲は0.0〜1.0の実数
|
502
|
+
#_value_:: 明度の変更量。範囲は0.0〜1.0の実数
|
503
|
+
#返却値:: 転送に成功すればdstを返す。失敗すればnilを返す
|
504
|
+
def Bitmap.hsv!(dst, degree, saturation, value)
|
505
|
+
end
|
34
506
|
end
|
35
507
|
end
|