Ben en fait, c'est tout con.
Je crée une image, je la colle à l'écran, et ensuite dans le Do loop du Main, avant Graphic Update, je règle les anims de chaque élément, toutes les 1 frames.
Une fois qu'on a compris que le Graphic Update sert de métronome (avancer d'une frame), on peut faire les anims que l'on veut.
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
|
@Fond = Sprite.new
@Fond.bitmap = Bitmap.new("Graphics/Pictures/Fragments-EcranTitreV3-Fond")
@Rayons = Sprite.new
@Rayons.bitmap = Bitmap.new("Graphics/Pictures/Fragments-EcranTitreV3-Rayons")
@Rayons.ox=@Rayons.bitmap.width/2
@Rayons.oy=@Rayons.bitmap.height/2
@Rayons.x=320
@Rayons.y=233
@Rayons.zoom_x=0.5
@Rayons.zoom_y=0.5
@Rayons.opacity=200
@Rayons2 = Sprite.new
@Rayons2.bitmap = Bitmap.new("Graphics/Pictures/Fragments-EcranTitreV3-Rayons")
@Rayons2.ox=@Rayons.bitmap.width/2
@Rayons2.oy=@Rayons.bitmap.height/2
@Rayons2.x=320
@Rayons2.y=233
@Rayons2.zoom_x=0.7
@Rayons2.zoom_y=0.7
@Rayons2.opacity=220
@Rayons2.angle=rand(359)
@Arlen = Sprite.new
@Arlen.bitmap = Bitmap.new("Graphics/Pictures/Fragments-EcranTitreV3-Arlen")
@Celui = Sprite.new
@Celui.bitmap = Bitmap.new("Graphics/Pictures/Fragments-EcranTitreV3-Celui")
@Brouillard = Plane.new(Viewport.new(0,0,640,480))
@Brouillard.bitmap = Bitmap.new("Graphics/Pictures/Fragments-EcranTitreV3-Brouillard")
# Main loop
loop do
@Rayons.angle += 0.25
if @Rayons.opacity>200 && @RayonsOpacityCycle==1
@RayonsOpacityCycle=-1
end
if @Rayons.opacity<100 && @RayonsOpacityCycle==-1
@RayonsOpacityCycle=1
end
@Rayons.opacity += @RayonsOpacityCycle
if @Rayons2.opacity>220 && @Rayons2OpacityCycle==3
@Rayons2OpacityCycle= -@Rayons2OpacityCycle
end
if @Rayons2.opacity<1 && @Rayons2OpacityCycle==-3
@Rayons2OpacityCycle= -@Rayons2OpacityCycle
@Rayons2.angle = rand(359)
end
@Rayons2.opacity += @Rayons2OpacityCycle
if @Lueur.zoom_x < 0.01
if @TimeWaitForNextLueur==0
@Lueur.zoom_x = 1
@Lueur.zoom_y = 1
@Lueur.angle = rand(359)
@TimeWaitForNextLueur = 50+rand(200)
end
@TimeWaitForNextLueur -= 1
else
@Lueur.zoom_x -= 0.01
@Lueur.zoom_y -= 0.01
end
@Brouillard.ox -=1
if @Curseur.opacity>200 && @CurseurOpacityCycle==5
@CurseurOpacityCycle=-5
end
if @Curseur.opacity<100 && @CurseurOpacityCycle==-5
@CurseurOpacityCycle=5
end
@Curseur.opacity += @CurseurOpacityCycle
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end |
|