スクリプトショットで引数を2つ以上持たせる


サンプル「スクリプトショットで引数を2つ以上持たせる」
sample01.txt
[右クリックで「対象をファイル保存」で東方弾幕風のscriptフォルダに保存してください]

sample
sample06.txtより抜粋
let sp=4;
let color=1;//スクリプトショットの色の決定
while(sp>0.8)//スクリプトショット内で使うスピードの決定
{
    let hikisu=color*1000+int(sp*100);//引数の圧縮

    CreateShotFromScript("tama",GetX(),GetY(),3,angle,0,hikisu);

    color+=1;
    sp=sp-0.4;
}
作成側の流れは
4桁の引数を作成

千の位に一桁の変数colorを入れる

残り三桁に変数spを入れる(精度小数点二桁)

スクリプトショットの第7引数に入れる
let su1=int(GetArgument()/1000);
let su2=(GetArgument()/1000-int(GetArgument()/1000))*10;
let color=RED01;

if(su1==1){color=RED21}
if(su1==2){color=GREEN21}
if(su1==3){color=BLUE21}
if(su1==4){color=YELLOW21}
if(su1==5){color=PURPLE21}
if(su1==6){color=AQUA21}
if(su1==7){color=ORANGE21}
if(su1==8){color=WHITE21}

使用するスクリプト内では
引数1を千の位から取り出すsu1=int(GetArgument()/1000)

引数2をその差分である3桁から取り出し桁をそろえる
su2=(GetArgument()/1000-int(GetArgument()/1000))*10

弾の色である第一引数を数値から各弾の色にふる

こうすれば1つの変数に2つの変数をおくことも可能
しかしこんなものが必要になる状況はめったにないと思う
このサンプルスクリプトもそうだが
大概の弾はCreateShotAでなんとかなってしまう



戻る