Jump to content
  • 0

Aligning and scaling helper-based super BG in zoomed camera (1.1)


TheMeilingFan

Question

Example:

Unzoomed

SBhEhpE.png

Zoomed out

edHw8QO.png

In this case, the spiralling super BG is attached to a helper. I want super BG to stay in the middle and scaled full screen even while the camera zooming out.

Codes

Helper call

[State 3300, Background Helper]
Type = Helper
Trigger1 = anim=3301 && animelem=1
StateNo = 3305
ID = 3305
PosType = Left
Pos = 0,0
Ownpal = 1
IgnoreHitPause = 1
Persistent = 0
size.xscale = 1.7
size.yscale = 1.7
SuperMoveTime = 9999
PauseMoveTime = 9999

Helper 3305 state code

;========================<BACKGROUND OF DIZZYING HISUI WORLD>=============================
[Statedef 3305]
Type = A
Physics = N
Anim = 3305
SprPriority = -6

[State 3305]
Type = PosSet
Trigger1 = 1
X = 213-Ceil(ScreenPos X-Pos X) ;original is 160-Ceil(ScreenPos X-Pos X)
Y = 140-Ceil(ScreenPos Y-Pos Y)
Persistent = 1

[State 3305]
Type = NotHitBy
Trigger1 = 1
Value = SAC, NT, ST, HT ,NA, SA, HA ,NP, SP, HP
Time = 1

[State 3305]
Type = Trans
Trigger1 = 1
Trans = AddAlpha
Alpha = 256+Var(4),256

[State 3305]
Type = VarAdd
Trigger1 = Time >= 437
V = 4
Value = -4

[State 3305]
Type = BGPalFX
Trigger1 = Time <= 437
Add = -256-Var(4),-256-Var(4),-256-Var(4)
Time = 1

[State 3305, Assert]
type=assertspecial
trigger1= 1
flag=noshadow

[State 3305, Assert]
type=assertspecial
trigger1= time<=437
flag=noFG
flag2=noBG

[State 3305]
Type = AngleDraw
Trigger1 = 1
Scale = 1.00 * (1.3333333 * GameHeight / GameWidth),1.00 * (1.3333333 * GameHeight / GameWidth)

[State 3305]
Type = AngleAdd
Trigger1 = 1
Value = -2

[State 3305]
Type = VarRandom
Trigger1 = Time = 0
V = 5
Range = 0,5

[State 3305]
Type = VarRandom
Trigger1 = Time = 0
V = 6
Range = 0,5

[State 3305]
Type = VarRandom
Trigger1 = Time = 0
V = 7
Range = 0,5

[State 3305]
Type = VarAdd
Trigger1 = Var(5) = Var(6)
Trigger1 = Time = 0
V = 6
Value = 1

[State 3305]
Type = VarAdd
Trigger1 = Var(6) = Var(7)
Trigger1 = Time = 0
V = 7
Value = 1

[State 3305]
Type = Helper
Trigger1 = Var(5) <= 5
Trigger1 = Time = 0
StateNo = 3306
ID = 3306+Var(5)
PosType = P1
Pos = 0,0
Ownpal = 1
IgnoreHitPause = 1
Persistent = 0

[State 3305]
Type = Helper
Trigger1 = Var(6) <= 5
Trigger1 = Time = 0
StateNo = 3306
ID = 3306+Var(6)
PosType = P1
Pos = 0,0
Ownpal = 1
IgnoreHitPause = 1
Persistent = 0

[State 3305]
Type = Helper
Trigger1 = Var(7) <= 5
Trigger1 = Time = 0
StateNo = 3306
ID = 3306+Var(7)
PosType = P1
Pos = 0,0
Ownpal = 1
IgnoreHitPause = 1
Persistent = 0

[State 3305]
Type = VarRandom
Trigger1 = Time = 0
V = 8
Range = 0,4

[State 3305]
Type = VarRandom
Trigger1 = Time = 0
V = 9
Range = 0,4

[State 3305]
Type = VarAdd
Trigger1 = Var(8) = Var(9)
Trigger1 = Time = 0
V = 9
Value = 1

[State 3305]
Type = Explod
Trigger1 = Var(8) <= 4
Trigger1 = Time = 0
Anim = 3312+Var(8)
ID = 3312+Var(8)
PosType = P1
Pos = 0,-60
Random = 160,120
Vel = 0.25*IfElse(Random%2=0,1,-1),0.1*IfElse(Random%2=0,1,-1)
Ownpal = 1
SprPriority = -5
IgnoreHitPause = 1
Persistent = 0
RemoveTime = -2
RemoveOnGetHit = 1

[State 3305]
Type = Explod
Trigger1 = Var(9) <= 4
Trigger1 = Time = 0
Anim = 3312+Var(9)
ID = 3312+Var(9)
PosType = P1
Pos = 0,60
Random = 160,120
Vel = 0.25*IfElse(Random%2=0,1,-1),0.1*IfElse(Random%2=0,1,-1)
Ownpal = 1
SprPriority = -5
IgnoreHitPause = 1
Persistent = 0
RemoveTime = -2
RemoveOnGetHit = 1

[State 3305]
Type = VarAdd
Trigger1 = Time > 0
FV = 1
Value = 0.003

[State 3305]
Type = ModifyExplod
Trigger1 = Time > 0
Scale = 1.5-FVar(1) * (1.3333333 * GameHeight / GameWidth) ,1.5-FVar(1) * (1.3333333 * GameHeight / GameWidth)

[State 3305]
Type = DestroySelf
Trigger1 = Time = 500
Trigger2 = NumHelper(8600)>0
IgnoreHitPause = 1

 

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...