Last active
December 16, 2015 18:49
-
-
Save kb10uy/5480106 to your computer and use it in GitHub Desktop.
AIMSで使えそうな関数をまとめてみました。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ | |
createDynamicText_Righter関数 | |
右の方に動いて消えるテキストを生成します。 | |
一応、テクスチャフォント専用です。 | |
イメージとしては、東方のBGM名のアレみたいなのです。 | |
1.濃くなりながら50fで200px右移動 | |
2.3秒止まる | |
3.薄くなりながら右へ退場 | |
引数 | |
font フォントハンドル | |
str 文字列 | |
sx,sy 開始位置(完全に止まるのは200px右です) | |
layer レイヤー | |
※22行目の、4をいじると、到着地を変更できます。 | |
]] | |
function createDynamicText_Righter(font,str,sx,sy,layer) | |
local ret; | |
ret=createTextActor(font,str,sx,sy,layer); | |
addMover(ret,-1,1,MOVER_SETALPHA,0); | |
addMover(ret,-1,1,MOVER_SETSPEED,4); | |
addMover(ret,0,50,MOVER_ADDALPHA,255/50.0); | |
addMover(ret,0,50,MOVER_ACCEL,-4/50.0); | |
addMover(ret,230,60,MOVER_ACCEL,6/60.0); | |
addMover(ret,230,60,MOVER_ADDALPHA,-255/60.0); | |
addMover(ret,300,1,MOVER_VANISH); | |
return ret; | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ | |
exease.lua | |
AIMS 1.90から追加されたaddMoverのイージングを、 | |
フェード以外でも使いたい、ということで色々やってみました。 | |
]] | |
--[[ | |
getEasingValues関数 | |
指定した値を、指定したイージング関数にしたがって | |
変化させた値を、テーブルで取得します。 | |
ステップあたりの時間は、16.66..ms(1f)固定です。 | |
引数 | |
b :初期値 | |
e :最終値 | |
s :ステップ数(返り値のテーブルの要素数でもあります) | |
f :イージング関数(文字列ではなく直接指定です) | |
返り値 | |
sステップでbからeまでfにしたがって変化した値のテーブル | |
(添字は1から); | |
]] | |
function getEasingValues(b,e,s,f) | |
local ret,ft; | |
ret={}; | |
ft=1000/60; | |
for i=1,s-1,1 do | |
ret[i]=b+f((1/s)*i,i*ft,0,1,s*ft)*(e-b); | |
end | |
ret[s]=e; | |
return ret; | |
end | |
--[[ | |
moveToWithEasing関数 | |
アクターを、指定位置までイージング関数に従って | |
移動させます。内部的には、addMoverしているだけです。 | |
呼ばれたタイミングから移動を開始します。 | |
引数 | |
ha :アクターハンドル | |
x :目的X | |
y :目的Y | |
s :フレーム数 | |
f :イージング関数(例によって直接指定) | |
]] | |
function moveToWithEasing(ha,x,y,s,f) | |
local xt,yt; | |
xt=getEasingValues(getX(ha),x,s,f); | |
yt=getEasingValues(getY(ha),y,s,f); | |
for i=1,s,1 do | |
addMover(ha,i-1,1,MOVER_SETPOSITION,xt[i],yt[i]); | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment