スクリプト/擬似等幅フォント

最終投稿者:Material 185033 3 mini 光楼(114) 更新:2015/06/21 12:38:12
開始スクリプトに以下のスクリプトをコピー・ペーストして下さい。
def decEquallyText() #初期化
setVariable("EquallyTextGroupId", createArray()) 
setVariable("EquallyTextDates", createArray())
setVariable("EquallyTextGroupDates", createArray())
setVariable("EquallyTextIdDates", createArray())
end
decEquallyText()
def createEquallyText(x,y) #テキストグループ生成
n = getArrayLength(getVariable("EquallyTextGroupId"))
getVariable("EquallyTextDates")[n] = createArray()
getVariable("EquallyTextDates")[n][0] = x
getVariable("EquallyTextDates")[n][1] = y
getVariable("EquallyTextGroupDates")[n] = createArray()
pushArray(getVariable("EquallyTextGroupId"), n)
return n
end
def setEquallyText(Id,m) #テキストグループ設定
Siz = getTextFontSize() + 5
m = toString(m)
s = splitString(m, "")
i = 0
L = getArrayLength(s)
while i < L
TIDL = getArrayLength(getVariable("EquallyTextGroupDates")[Id])
if TIDL == 0
x = getVariable("EquallyTextDates")[Id][0]
y = getVariable("EquallyTextDates")[Id][1]
w = Siz
h = Siz
else
x = getVariable("EquallyTextIdDates")[getVariable("EquallyTextGroupDates")[Id][TIDL - 1]][0]
y = getVariable("EquallyTextIdDates")[getVariable("EquallyTextGroupDates")[Id][TIDL - 1]][1]
w = Siz
h = Siz
x = x + getVariable("EquallyTextIdDates")[getVariable("EquallyTextGroupDates")[Id][TIDL - 1]][2]
end
if s[i] == "\n"
x = getVariable("EquallyTextDates")[Id][0] - 1
y = y + h
w = 1
s[i] = ""
end
txid = createText(x, y, w, h)
setText(txid,s[i])
if getArrayLength(getVariable("EquallyTextGroupDates")[Id]) == 0
getVariable("EquallyTextGroupDates")[Id] = createArray()
end
pushArray(getVariable("EquallyTextGroupDates")[Id], txid)
getVariable("EquallyTextIdDates")[txid] = createArray()
getVariable("EquallyTextIdDates")[txid][0] = x
getVariable("EquallyTextIdDates")[txid][1] = y
getVariable("EquallyTextIdDates")[txid][2] = w
getVariable("EquallyTextIdDates")[txid][3] = h
getVariable("EquallyTextIdDates")[txid][4] = s[i]
i = i + 1
end
end
def deleteEquallyText(Id)
l = getArrayLength(getVariable("EquallyTextGroupDates")[Id])
i = 0
while i < l
txid = getVariable("EquallyTextGroupDates")[Id][i]
deleteText(txid)
getVariable("EquallyTextIdDates")[txid] = createArray()
i = i + 1
end
getVariable("EquallyTextGroupDates")[Id] = createArray()
getVariable("EquallyTextDates")[Id] = createArray()
getVariable("EquallyTextGroupId")[Id] = "null"
end
def deleteEquallyTextAll()
l = getArrayLength(getVariable("EquallyTextGroupId"))
i = 0
while i < l
deleteEquallyText(getVariable("EquallyTextGroupId")[i])
i = i + 1
end
decEquallyText()
end
def deleteEquallyTextP(Id)
l = getArrayLength(getVariable("EquallyTextGroupDates")[Id])
i = 0
while i < l
txid = getVariable("EquallyTextGroupDates")[Id][i]
deleteText(txid)
getVariable("EquallyTextIdDates")[txid] = createArray()
i = i + 1
end
getVariable("EquallyTextGroupDates")[Id] = createArray()
end


createEquallyText関数
画面上に擬似等幅フォントの文字列を表示できる領域を作ります。
textid = createEquallyText(80,80)

• 第1引数はx座標(ピクセル単位)
• 第2引数はy座標(ピクセル単位)
• 返り値はテキスト領域のID

setEquallyText関数
画面上の擬似等幅フォント文字列表示領域に表示する文字列を設定します。
setEquallyText(textid, "Hello Rmake Wold!")

• 第1引数は擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)
• 第2引数は表示する文字列

setText関数とは違い、2度使用すると文字列が追加されます。
setEquallyText(textid, "Hello ")
setEquallyText(textid, "Rmake Wold!")

表示は
Hello Rmake Wold!

deleteEquallyTextP関数
setEquallyTextで表示した文字列を削除します。
deleteEquallyTextP(textid)

• 第1引数は削除する文字列がある擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)

deleteEquallyText関数
画面の擬似等幅フォント文字列表示領域を削除します。
deleteEquallyText(textid)

• 第1引数は削除する擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)

deleteEquallyTextAll関数
setEquallyTextで設定された擬似等幅フォント文字列表示領域をすべて削除します。
deleteEquallyTextAll()

  • 使用例
textid = createEquallyText(100,200)
setEquallyText(textid,"あいうえお\n")
setEquallyText(textid,"かきくけこ")

このように表示されます。

コメントする

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

コメント一覧

コメントはありません。