コメント
このコメントは、【Wiki】スクリプト/かな・カナ入力へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
光楼(114)(投稿日:2017/02/05 12:02/05/17)
文字入力関数を使っていただきありがとうございます!
この長い関数を解読してアレンジするとは凄いですね!
僕は自分で作ったスクリプトすら解読するのが苦手なので尊敬します。
関数の構成はそんな感じです。
もう少し分かりやすくしたものを最後に載せておきます。
解読苦手なので合ってるかは怪しいですが(汗)
アレンジについてですが少し助言をさせて頂きます。
nameに入れるのを配列ではなく"まじたい"という文字列にし、
追加分のところでsplitString(name, "")で分割する方法にするともっと良くなるかもしれません。
以上です。
文字数の関係で載せきれなかったので分割します(^-^;
この長い関数を解読してアレンジするとは凄いですね!
僕は自分で作ったスクリプトすら解読するのが苦手なので尊敬します。
関数の構成はそんな感じです。
もう少し分かりやすくしたものを最後に載せておきます。
解読苦手なので合ってるかは怪しいですが(汗)
アレンジについてですが少し助言をさせて頂きます。
nameに入れるのを配列ではなく"まじたい"という文字列にし、
追加分のところでsplitString(name, "")で分割する方法にするともっと良くなるかもしれません。
以上です。
def Array(a) #配列設定用関数
return splitString(a, ",")
end
def nyuuryoku(a,segen) #文字入力関数Ver4
#フォント設定
OutputTextColorR=255;OutputTextColorG=255;OutputTextColorB=255
TextSizeColorR=255;TextSizeColorG=127;TextSizeColorB=0
TextTypeColorR=0;TextTypeColorG=255;TextTypeColorB=255
InputTextColorR=255;InputTextColorG=255;InputTextColorB=0
UpDownColorR=100;UpDownColorG=255;UpDownColorB=100
#フォント設定記憶
Fsiz=getTextFontSize();FBold=getTextFontBold();FItlc=getTextFontItalic()
CR=getTextFontColorR();CG=getTextFontColorG();CB=getTextFontColorB()
#フォント設定反映 & テキスト位置設定
setTextFontBold(false)
setTextFontItalic(false)
case a when 0 bay=1.5625;OutputTextSize=48;UpAmount=20;when 1 bay=1;OutputTextSize=30;UpAmount=0;end
setTextFontSize(OutputTextSize)
setTextFontColor(OutputTextColorR,OutputTextColorG,OutputTextColorB)
OutPoint=0;GoMove=false
PointXmr=4*bay;PointYmr=21*bay-UpAmount;PointWmr=504*bay;PointHmr=110*bay
mr=createText(PointXmr,PointYmr,PointWmr,PointHmr)
case a when 0 InputTextSize=60;when 1 InputTextSize=38;end
setTextFontSize(InputTextSize)
BlockSize=42*bay
HalfBlockSize=21*bay
PointUp=168*bay-UpAmount
PointDown=378*bay-UpAmount
setTextFontColor(TextSizeColorR,TextSizeColorG,TextSizeColorB)
PointX1=4;PointY1=168*bay-UpAmount;PointW1=BlockSize;PointH1=BlockSize
s1=createText(PointX1,PointY1,PointW1,PointH1)
setTextFontColor(TextTypeColorR,TextTypeColorG,TextTypeColorB)
PointX8=46*bay;PointY8=168*bay-UpAmount;PointW8=BlockSize;PointH8=BlockSize
s8=createText(PointX8,PointY8,PointW8,PointH8)
setTextFontSize(InputTextSize/2)
setTextFontColor(UpDownColorR,UpDownColorG,UpDownColorB)
PointXup=470*bay;PointYup=138*bay-UpAmount;PointWup=HalfBlockSize;PointHup=HalfBlockSize
TextUp=createText(PointXup,PointYup,PointWup,PointHup)
PointXdw=491*bay;PointYdw=138*bay-UpAmount;PointWdw=HalfBlockSize;PointHdw=HalfBlockSize
TextDown=createText(PointXdw,PointYdw,PointWdw,PointHdw)
setTextFontColor(InputTextColorR,InputTextColorG,InputTextColorB)
setTextFontBold(true)
bou=createText(4,126*bay+21*bay-UpAmount,600*bay,HalfBlockSize)
setTextFontBold(false)
setTextFontSize(InputTextSize)
PointX2=4;PointY2=210*bay-UpAmount;PointW2=BlockSize*2;PointH2=BlockSize
s2=createText(PointX2,PointY2,PointW2,PointH2)
PointX3=4;PointY3=252*bay-UpAmount;PointW3=BlockSize*2;PointH3=BlockSize
s3=createText(PointX3,PointY3,PointW3,PointH3)
PointX4=4;PointY4=294*bay-UpAmount;PointW4=BlockSize;PointH4=BlockSize
s4=createText(PointX4,PointY4,PointW4,PointH4)
PointX5=46*bay;PointY5=294*bay-UpAmount;PointW5=BlockSize;PointH5=BlockSize
s5=createText(PointX5,PointY5,PointW5,PointH5)
PointX6=4;PointY6=336*bay-UpAmount;PointW6=BlockSize;PointH6=BlockSize
s6=createText(PointX6,PointY6,PointW6,PointH6)
PointX7=46*bay;PointY7=336*bay-UpAmount;PointW7=BlockSize;PointH7=BlockSize
s7=createText(PointX7,PointY7,PointW7,PointH7)
mi=createArray()
bango=0;loops=0
Dan0=168*bay-UpAmount;Dan1=210*bay-UpAmount;Dan2=252*bay-UpAmount;Dan3=294*bay-UpAmount;Dan4=336*bay-UpAmount
while bango<50
mx=466-42*loops
mi[bango]=createText(mx*bay,Dan0,BlockSize,BlockSize)
mi[bango+1]=createText(mx*bay,Dan1,BlockSize,BlockSize)
mi[bango+2]=createText(mx*bay,Dan2,BlockSize,BlockSize)
mi[bango+3]=createText(mx*bay,Dan3,BlockSize,BlockSize)
mi[bango+4]=createText(mx*bay,Dan4,BlockSize,BlockSize)
bango=bango+5
loops=loops+1
end
#入力欄設定
m=createArray()
r=0
while r<10 do m[r]=createArray();r=r+1;end
#0大文字かな 1大文字カナ 2小文字かな 3小文字カナ 4濁点かな 5濁点カナ 6半濁点かな 7半濁点カナ 8大文字英数 9小文字英数
m[0][0]=Array("あ,ア,ぁ,ァ,あ,ア,あ,ア,0,0")
m[0][1]=Array("い,イ,ぃ,ィ,い,イ,い,イ,P,p")
m[0][2]=Array("う,ウ,ぅ,ゥ,?,ヴ,う,ウ,+,+")
m[0][3]=Array("え,エ,ぇ,ェ,え,エ,え,エ,¥,\")
m[0][4]=Array("お,オ,ぉ,ォ,お,オ,お,オ,Κ,κ")
m[1][0]=Array("か,カ,か,カ,が,ガ,か,カ,9,9")
m[1][1]=Array("き,キ,き,キ,ぎ,ギ,き,キ,O,o")
m[1][2]=Array("く,ク,く,ク,ぐ,グ,く,ク,L,l")
m[1][3]=Array("け,ケ,け,ケ,げ,ゲ,け,ケ,/,/")
m[1][4]=Array("こ,コ,こ,コ,ご,ゴ,こ,コ,Ι,ι")
m[2][0]=Array("さ,サ,さ,サ,ざ,ザ,さ,サ,8,8")
m[2][1]=Array("し,シ,し,シ,じ,ジ,し,シ,I,i")
m[2][2]=Array("す,ス,す,ス,ず,ズ,す,ス,K,k")
m[2][3]=Array("せ,セ,せ,セ,ぜ,ゼ,せ,セ,.,.")
m[2][4]=Array("そ,ソ,そ,ソ,ぞ,ゾ,そ,ソ,Θ,θ")
m[3][0]=Array("た,タ,た,タ,だ,ダ,た,タ,7,7")
m[3][1]=Array("ち,チ,ち,チ,ぢ,ヂ,ち,チ,U,u")
m[3][2]=Array("つ,ツ,っ,ッ,づ,ヅ,つ,ツ,J,j")
m[3][3]=Array("て,テ,て,テ,で,デ,て,テ,M,m")
m[3][4]=Array("と,ト,と,ト,ど,ド,と,ト,Η,η")
m[4][0]=Array("な,ナ,な,ナ,な,ナ,な,ナ,6,6")
m[4][1]=Array("に,ニ,に,ニ,に,ニ,に,ニ,Y,y")
m[4][2]=Array("ぬ,ヌ,ぬ,ヌ,ぬ,ヌ,ぬ,ヌ,H,h")
m[4][3]=Array("ね,ネ,ね,ネ,ね,ネ,ね,ネ,N,n")
m[4][4]=Array("の,ノ,の,ノ,の,ノ,の,ノ,Ζ,ζ")
m[5][0]=Array("は,ハ,は,ハ,ば,バ,ぱ,パ,5,5")
m[5][1]=Array("ひ,ヒ,ひ,ヒ,び,ビ,ぴ,ピ,T,t")
m[5][2]=Array("ふ,フ,ふ,フ,ぶ,ブ,ぷ,プ,G,g")
m[5][3]=Array("へ,ヘ,へ,ヘ,べ,ベ,ぺ,ぺ,B,b")
m[5][4]=Array("ほ,ホ,ほ,ホ,ぼ,ボ,ぽ,ポ,Ε,ε")
m[6][0]=Array("ま,マ,ま,マ,ま,マ,ま,マ,4,4")
m[6][1]=Array("み,ミ,み,ミ,み,ミ,み,ミ,R,r")
m[6][2]=Array("む,ム,む,ム,む,ム,む,ム,F,f")
m[6][3]=Array("め,メ,め,メ,め,メ,め,メ,V,v")
m[6][4]=Array("も,モ,も,モ,も,モ,も,モ,Δ,δ")
m[7][0]=Array("や,ヤ,ゃ,ャ,や,ヤ,や,ヤ,3,3")
m[7][1]=Array("!, ,!, ,<,゛,<,゜,E,e")
m[7][2]=Array("ゆ,ユ,ゅ,ュ,ゆ,ユ,ゆ,ユ,D,d")
m[7][3]=Array("?,~,?,~,>,*,>,*,C,c")
m[7][4]=Array("よ,ヨ,ょ,ョ,よ,ヨ,よ,ヨ,Γ,γ")
m[8][0]=Array("ら,ラ,ら,ラ,ら,ラ,ら,ラ,2,2")
m[8][1]=Array("り,リ,り,リ,り,リ,り,リ,W,w")
m[8][2]=Array("る,ル,る,ル,る,ル,る,ル,S,s")
m[8][3]=Array("れ,レ,れ,レ,れ,レ,れ,レ,X,x")
m[8][4]=Array("ろ,ロ,ろ,ロ,ろ,ロ,ろ,ロ,Β,β")
m[9][0]=Array("わ,ワ,ゎ,ヮ,わ,ワ,わ,ワ,1,1")
m[9][1]=Array("ゐ,ヰ,-,-,「,;,[,;,Q,q")
m[9][2]=Array("ゑ,ヱ,ー,―,」,:,],:,Z,z")
m[9][3]=Array("を,ヲ,を,ヲ,を,ヲ,を,ヲ,A,a")
m[9][4]=Array("ん,ン,ん,ン,ん,ン,ん,ン,Α,α")
if segen==-1
sm="字数制限なし"
else
sm=segen+"文字まで入力可"
end
i=0;boo=sm
while i<20 do boo=boo+"―";i=i+1;end
setText(bou,boo)
setText(s2,"削除");setText(s3,"終了");setText(s4,"゛");setText(s5,"゜");setText(s6,"、");setText(s7,"。");setText(TextUp,"▲");setText(TextDown,"▼")
rui=0 #入力文字種
moziretu=createArray() #入力文字
kaz=0 #入力文字数
main=true
文字数の関係で載せきれなかったので分割します(^-^;
この長い関数を解読してアレンジするとは凄いですね!
僕は自分で作ったスクリプトすら解読するのが苦手なので尊敬します。
関数の構成はそんな感じです。
もう少し分かりやすくしたものを最後に載せておきます。
解読苦手なので合ってるかは怪しいですが(汗)
アレンジについてですが少し助言をさせて頂きます。
nameに入れるのを配列ではなく"まじたい"という文字列にし、
追加分のところでsplitString(name, "")で分割する方法にするともっと良くなるかもしれません。
以上です。
def Array(a) #配列設定用関数 return splitString(a, ",") end def nyuuryoku(a,segen) #文字入力関数Ver4 #フォント設定 OutputTextColorR=255;OutputTextColorG=255;OutputTextColorB=255 TextSizeColorR=255;TextSizeColorG=127;TextSizeColorB=0 TextTypeColorR=0;TextTypeColorG=255;TextTypeColorB=255 InputTextColorR=255;InputTextColorG=255;InputTextColorB=0 UpDownColorR=100;UpDownColorG=255;UpDownColorB=100 #フォント設定記憶 Fsiz=getTextFontSize();FBold=getTextFontBold();FItlc=getTextFontItalic() CR=getTextFontColorR();CG=getTextFontColorG();CB=getTextFontColorB() #フォント設定反映 & テキスト位置設定 setTextFontBold(false) setTextFontItalic(false) case a when 0 bay=1.5625;OutputTextSize=48;UpAmount=20;when 1 bay=1;OutputTextSize=30;UpAmount=0;end setTextFontSize(OutputTextSize) setTextFontColor(OutputTextColorR,OutputTextColorG,OutputTextColorB) OutPoint=0;GoMove=false PointXmr=4*bay;PointYmr=21*bay-UpAmount;PointWmr=504*bay;PointHmr=110*bay mr=createText(PointXmr,PointYmr,PointWmr,PointHmr) case a when 0 InputTextSize=60;when 1 InputTextSize=38;end setTextFontSize(InputTextSize) BlockSize=42*bay HalfBlockSize=21*bay PointUp=168*bay-UpAmount PointDown=378*bay-UpAmount setTextFontColor(TextSizeColorR,TextSizeColorG,TextSizeColorB) PointX1=4;PointY1=168*bay-UpAmount;PointW1=BlockSize;PointH1=BlockSize s1=createText(PointX1,PointY1,PointW1,PointH1) setTextFontColor(TextTypeColorR,TextTypeColorG,TextTypeColorB) PointX8=46*bay;PointY8=168*bay-UpAmount;PointW8=BlockSize;PointH8=BlockSize s8=createText(PointX8,PointY8,PointW8,PointH8) setTextFontSize(InputTextSize/2) setTextFontColor(UpDownColorR,UpDownColorG,UpDownColorB) PointXup=470*bay;PointYup=138*bay-UpAmount;PointWup=HalfBlockSize;PointHup=HalfBlockSize TextUp=createText(PointXup,PointYup,PointWup,PointHup) PointXdw=491*bay;PointYdw=138*bay-UpAmount;PointWdw=HalfBlockSize;PointHdw=HalfBlockSize TextDown=createText(PointXdw,PointYdw,PointWdw,PointHdw) setTextFontColor(InputTextColorR,InputTextColorG,InputTextColorB) setTextFontBold(true) bou=createText(4,126*bay+21*bay-UpAmount,600*bay,HalfBlockSize) setTextFontBold(false) setTextFontSize(InputTextSize) PointX2=4;PointY2=210*bay-UpAmount;PointW2=BlockSize*2;PointH2=BlockSize s2=createText(PointX2,PointY2,PointW2,PointH2) PointX3=4;PointY3=252*bay-UpAmount;PointW3=BlockSize*2;PointH3=BlockSize s3=createText(PointX3,PointY3,PointW3,PointH3) PointX4=4;PointY4=294*bay-UpAmount;PointW4=BlockSize;PointH4=BlockSize s4=createText(PointX4,PointY4,PointW4,PointH4) PointX5=46*bay;PointY5=294*bay-UpAmount;PointW5=BlockSize;PointH5=BlockSize s5=createText(PointX5,PointY5,PointW5,PointH5) PointX6=4;PointY6=336*bay-UpAmount;PointW6=BlockSize;PointH6=BlockSize s6=createText(PointX6,PointY6,PointW6,PointH6) PointX7=46*bay;PointY7=336*bay-UpAmount;PointW7=BlockSize;PointH7=BlockSize s7=createText(PointX7,PointY7,PointW7,PointH7) mi=createArray() bango=0;loops=0 Dan0=168*bay-UpAmount;Dan1=210*bay-UpAmount;Dan2=252*bay-UpAmount;Dan3=294*bay-UpAmount;Dan4=336*bay-UpAmount while bango<50 mx=466-42*loops mi[bango]=createText(mx*bay,Dan0,BlockSize,BlockSize) mi[bango+1]=createText(mx*bay,Dan1,BlockSize,BlockSize) mi[bango+2]=createText(mx*bay,Dan2,BlockSize,BlockSize) mi[bango+3]=createText(mx*bay,Dan3,BlockSize,BlockSize) mi[bango+4]=createText(mx*bay,Dan4,BlockSize,BlockSize) bango=bango+5 loops=loops+1 end #入力欄設定 m=createArray() r=0 while r<10 do m[r]=createArray();r=r+1;end #0大文字かな 1大文字カナ 2小文字かな 3小文字カナ 4濁点かな 5濁点カナ 6半濁点かな 7半濁点カナ 8大文字英数 9小文字英数 m[0][0]=Array("あ,ア,ぁ,ァ,あ,ア,あ,ア,0,0") m[0][1]=Array("い,イ,ぃ,ィ,い,イ,い,イ,P,p") m[0][2]=Array("う,ウ,ぅ,ゥ,?,ヴ,う,ウ,+,+") m[0][3]=Array("え,エ,ぇ,ェ,え,エ,え,エ,¥,\") m[0][4]=Array("お,オ,ぉ,ォ,お,オ,お,オ,Κ,κ") m[1][0]=Array("か,カ,か,カ,が,ガ,か,カ,9,9") m[1][1]=Array("き,キ,き,キ,ぎ,ギ,き,キ,O,o") m[1][2]=Array("く,ク,く,ク,ぐ,グ,く,ク,L,l") m[1][3]=Array("け,ケ,け,ケ,げ,ゲ,け,ケ,/,/") m[1][4]=Array("こ,コ,こ,コ,ご,ゴ,こ,コ,Ι,ι") m[2][0]=Array("さ,サ,さ,サ,ざ,ザ,さ,サ,8,8") m[2][1]=Array("し,シ,し,シ,じ,ジ,し,シ,I,i") m[2][2]=Array("す,ス,す,ス,ず,ズ,す,ス,K,k") m[2][3]=Array("せ,セ,せ,セ,ぜ,ゼ,せ,セ,.,.") m[2][4]=Array("そ,ソ,そ,ソ,ぞ,ゾ,そ,ソ,Θ,θ") m[3][0]=Array("た,タ,た,タ,だ,ダ,た,タ,7,7") m[3][1]=Array("ち,チ,ち,チ,ぢ,ヂ,ち,チ,U,u") m[3][2]=Array("つ,ツ,っ,ッ,づ,ヅ,つ,ツ,J,j") m[3][3]=Array("て,テ,て,テ,で,デ,て,テ,M,m") m[3][4]=Array("と,ト,と,ト,ど,ド,と,ト,Η,η") m[4][0]=Array("な,ナ,な,ナ,な,ナ,な,ナ,6,6") m[4][1]=Array("に,ニ,に,ニ,に,ニ,に,ニ,Y,y") m[4][2]=Array("ぬ,ヌ,ぬ,ヌ,ぬ,ヌ,ぬ,ヌ,H,h") m[4][3]=Array("ね,ネ,ね,ネ,ね,ネ,ね,ネ,N,n") m[4][4]=Array("の,ノ,の,ノ,の,ノ,の,ノ,Ζ,ζ") m[5][0]=Array("は,ハ,は,ハ,ば,バ,ぱ,パ,5,5") m[5][1]=Array("ひ,ヒ,ひ,ヒ,び,ビ,ぴ,ピ,T,t") m[5][2]=Array("ふ,フ,ふ,フ,ぶ,ブ,ぷ,プ,G,g") m[5][3]=Array("へ,ヘ,へ,ヘ,べ,ベ,ぺ,ぺ,B,b") m[5][4]=Array("ほ,ホ,ほ,ホ,ぼ,ボ,ぽ,ポ,Ε,ε") m[6][0]=Array("ま,マ,ま,マ,ま,マ,ま,マ,4,4") m[6][1]=Array("み,ミ,み,ミ,み,ミ,み,ミ,R,r") m[6][2]=Array("む,ム,む,ム,む,ム,む,ム,F,f") m[6][3]=Array("め,メ,め,メ,め,メ,め,メ,V,v") m[6][4]=Array("も,モ,も,モ,も,モ,も,モ,Δ,δ") m[7][0]=Array("や,ヤ,ゃ,ャ,や,ヤ,や,ヤ,3,3") m[7][1]=Array("!, ,!, ,<,゛,<,゜,E,e") m[7][2]=Array("ゆ,ユ,ゅ,ュ,ゆ,ユ,ゆ,ユ,D,d") m[7][3]=Array("?,~,?,~,>,*,>,*,C,c") m[7][4]=Array("よ,ヨ,ょ,ョ,よ,ヨ,よ,ヨ,Γ,γ") m[8][0]=Array("ら,ラ,ら,ラ,ら,ラ,ら,ラ,2,2") m[8][1]=Array("り,リ,り,リ,り,リ,り,リ,W,w") m[8][2]=Array("る,ル,る,ル,る,ル,る,ル,S,s") m[8][3]=Array("れ,レ,れ,レ,れ,レ,れ,レ,X,x") m[8][4]=Array("ろ,ロ,ろ,ロ,ろ,ロ,ろ,ロ,Β,β") m[9][0]=Array("わ,ワ,ゎ,ヮ,わ,ワ,わ,ワ,1,1") m[9][1]=Array("ゐ,ヰ,-,-,「,;,[,;,Q,q") m[9][2]=Array("ゑ,ヱ,ー,―,」,:,],:,Z,z") m[9][3]=Array("を,ヲ,を,ヲ,を,ヲ,を,ヲ,A,a") m[9][4]=Array("ん,ン,ん,ン,ん,ン,ん,ン,Α,α") if segen==-1 sm="字数制限なし" else sm=segen+"文字まで入力可" end i=0;boo=sm while i<20 do boo=boo+"―";i=i+1;end setText(bou,boo) setText(s2,"削除");setText(s3,"終了");setText(s4,"゛");setText(s5,"゜");setText(s6,"、");setText(s7,"。");setText(TextUp,"▲");setText(TextDown,"▼") rui=0 #入力文字種 moziretu=createArray() #入力文字 kaz=0 #入力文字数 main=true文字数の関係で載せきれなかったので分割します(^-^;