SCB:開始スクリプトにユーザー関数構築中。

投稿者:Logo mini hightoller 投稿日:2011/05/16 21:56

スプライトを1枚絵から1こずつ切り出すなら、番号振って移動すりゃおk。
だけど、SCBでは数字や文字を沢山使いたい。ので、
まずスプライトの情報を二次元関数で管理して、
配置する場所にその情報を使ってスプライトをコピーする。
なんてものを構築中。

def SV(a,b)
setVariable(a,b)
end

def GV(a)
return getVariable(a)
end

def GVA(a,b)
return GV(GV(a)[GV(b)])
end

def GVAA(a,b,c)
return GVA(GVA(a,b),GV(c))
end

def C_Spr(ss,xx,yy,xw,yh)
SV("Spr",createArray())
SV("ss",ss)
SV(GV("Spr")[GV("ss")],createArray())
SV(GVA("Spr","ss")[1],xx*80)
speak(GVAA("Spr","ss",1))
end

C_Spr(1,1,1,1,1)


10行目、GVAで「配列じゃねーよ」とエラー出るのに、
検証用Speakでは反映されている不思議な事態に。
エラー放置したままでも動きそうだけど、気持ち悪いしなぁ。。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Logo mini hightoller(投稿日:2011/05/17 22:32, 履歴)
同じ文字が沢山並ぶの、目に悪いですよねw
普通に誤字とかやらかしやすいので、見つけやすいようにしたいのです。
やっぱ皆考えることおなじなのかぁ。暫くは横着していくと思います。

def C_Spr(ss,xx,yy,xw,yh)
SV("Spr",createArray())
GV("Spr")[ss]=createArray()
SV(GV("Spr")[ss][1],xx*80)
SV(GV("Spr")[ss][2],yy*60)
SV(GV("Spr")[ss][3],xw*80)
SV(GV("Spr")[ss][4],yh*60)
end

と書くことで、関数外への数値持ち出しに成功=基本二次元配列になりました。
speak(GV(GV("Spr")[ss][4]))で確認。
Nyan mini rurun9(投稿日:2011/05/17 11:24, 履歴)
うん、そんな感じでsv,gvを定義したら文字数減るんじゃ?てのやったやったw
配列使えるようになってからはワケワカラン所でエラッタ出るからやめたケドね。