スクリプト/擬似等幅フォント(履歴ID:629)
最終投稿者: 光楼(114)
更新:2015/06/21 12:38:12
開始スクリプトに以下のスクリプトをコピー・ペーストして下さい。
画面上に擬似等幅フォントの文字列を表示できる領域を作ります。
• 第1引数はx座標(ピクセル単位)
• 第2引数はy座標(ピクセル単位)
• 返り値はテキスト領域のID
画面上の擬似等幅フォント文字列表示領域に表示する文字列を設定します。
• 第1引数は擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)
• 第2引数は表示する文字列
setText関数とは違い、2度使用すると文字列が追加されます。
表示は
Hello Rmake Wold!
setEquallyTextで表示した文字列を削除します。
• 第1引数は削除する文字列がある擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)
画面の擬似等幅フォント文字列表示領域を削除します。
• 第1引数は削除する擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)
setEquallyTextで設定された擬似等幅フォント文字列表示領域をすべて削除します。
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関数 |
---|
deleteEquallyTextP(textid)
• 第1引数は削除する文字列がある擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)
deleteEquallyText関数 |
---|
deleteEquallyText(textid)
• 第1引数は削除する擬似等幅フォント文字列表示領域のID(createEquallyTextの返り値)
deleteEquallyTextAll関数 |
---|
deleteEquallyTextAll()
- 使用例
textid = createEquallyText(100,200) setEquallyText(textid,"あいうえお\n") setEquallyText(textid,"かきくけこ")
このように表示されます。 |