-
Notifications
You must be signed in to change notification settings - Fork 0
/
aoi_in_the_mirror.anm
executable file
·99 lines (87 loc) · 3.08 KB
/
aoi_in_the_mirror.anm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
-- vim:ft=lua ff=dos fenc=sjis
--track0:flipstart,-10,10000,400,1
--track1:flipend,1,10000,5000,1
--track2:スコア削除,1,1000,100,1
--track3:枠Y回転,-360,360,0,1
-- 枠Y回転を使う時は
-- カメラ制御をかぶせた上でカメラ制御onにしないと
-- 回転中にフィールドの裏に枠が隠れる
transition_frame = 10
option_alpha = 0
option_remove_delay = obj.track2
xoffset = -60
mask_filename = "*" .. obj.getinfo("script_path") .. 'ongeki_mask.png'
if(obj.frame < obj.track0) then
option_alpha = 0
elseif(obj.frame < obj.track0 + transition_frame) then
option_alpha = 1-(obj.track0 + transition_frame - obj.frame) / transition_frame
elseif(obj.frame < obj.track1 + option_remove_delay) then
option_alpha = 1
elseif(obj.frame < obj.track1 + option_remove_delay + transition_frame) then
option_alpha = (obj.track1 + transition_frame + option_remove_delay - obj.frame) / transition_frame
else
option_alpha = 0
end
function draw_frame()
obj.load("tempbuffer")
if(obj.frame > obj.track0 and obj.frame < obj.track1 + transition_frame) then
obj.effect("マスク","元のサイズに合わせる",1,"type",0,"マスクの反転",0,"name", mask_filename)
end
obj.effect("クリッピング","左",320)
obj.effect("回転","Y", obj.track3, "Z",270)
obj.effect("拡大率","拡大率",72)
obj.draw(xoffset,-100)
end
function draw_inner()
rotate_y = 0
if(obj.frame < obj.track0) then
rotate_y = 0
return
elseif(obj.frame < obj.track0 + transition_frame) then
rotate_y = 180 - (obj.track0 + transition_frame - obj.frame) * (180/transition_frame)
elseif(obj.frame < obj.track1) then
rotate_y = 180
elseif(obj.frame < obj.track1 + transition_frame) then
rotate_y = (obj.track1 + transition_frame - obj.frame) * (180/transition_frame)
else
rotate_y = 0
return
end
obj.load("tempbuffer")
obj.effect("マスク","サイズ",100,"元のサイズに合わせる",1,"マスクの反転",1,"type",0,"name", mask_filename)
obj.effect("クリッピング","左",320)
obj.effect("回転","Y", rotate_y, "Z",270)
obj.effect("拡大率","拡大率",72)
obj.draw(xoffset,-100)
end
function draw_score()
obj.load("tempbuffer")
obj.effect("クリッピング","上",16,"下",820,"左",970,"右",710,"中心の位置を変更",1)
obj.effect("回転", "Z",270)
obj.draw(-640 + xoffset,40,0,2.0,option_alpha)
end
function draw_player()
obj.load("tempbuffer")
obj.effect("クリッピング","左",1000,"中心の位置を変更",1)
obj.effect("クリッピング","左",748,"下",524,"中心の位置を変更",1)
obj.effect("回転", "Z",270)
obj.draw(-640 + xoffset,-460,0,0.90)
end
function draw_music()
obj.load("tempbuffer")
obj.effect("クリッピング","左",1000,"中心の位置を変更",1)
obj.effect("クリッピング","左",770,"上",786,"右",50,"中心の位置を変更",1)
obj.effect("回転", "Z",270)
obj.draw(-640 + xoffset,-300,0,1.7,option_alpha)
end
obj.setoption("drawtarget","tempbuffer",1920,1080)
obj.draw()
obj.setoption("drawtarget","framebuffer")
draw_frame()
draw_inner()
draw_score()
draw_player()
draw_music()
-- なぜか直接 text を作って draw すると PSDtoolkit と干渉するので
-- 一旦変数に入れてテキストの mes で表示する・・・
rndnet_mirror_current_frame = obj.frame