忍者ブログ

背伸びした視点のブログ→ないものねだり


ないものねだり  2009 / 01 / 26 ( Mon )

こんばんは。1周まわってWindowsMediaPlayerが一番使いやすいぽりです。




OSの話。


教授「OSの中で一番使いやすいのってどれかな。」

K君「Windows XPですかねー」

教授「XPか?Vistaのほうが機能が多くて便利だと思うのだがね。」

K君「Vistaはダメダメです




教授「そうか。じゃあところで君のパソコンのOSは何かな?」








K君「え?Windows Vistaですけど。」



あれ?




自分で苦労して作り上げたシステムが実はちょっとした工夫で簡単に出来てしまうと分かった時の脱力感、あれは結構デカいもんなのですね。

denplayer.png

例えば↑の「デンコウカラオケプレーヤー」歌詞表示部分。曲のタイミングにあわせて歌詞が移動するスピードを合わせるために「指定した文字列変数の文章の長さを調べる」イベントが必要になります。
深夜の頭まわってない時に作ったのでどうしてもいい方法が浮かばず、「文字1文字切り出しをループして、文字列変数が空になるまでループした回数=文字列の長さ」というごり押し方法を用いてました。

しかしこの方法の問題は、「全角も半角も同じ1文字としてカウントされる」こと。あと「文字列が長いと数百回ループさせなくてはいけない」こと。出来れば「50000回制限に引っ掛かりそうなものは極力避けつつ、半角は0.5文字としてカウントしてくれる」アルゴリズムが欲しいのです。

いい方法はないかと模索している時、とある方法がふと浮かぶ。


文字列をピクチャで表示→「変数操作+」の「ピクチャの大きさ(横)」



取得出来ちゃったよ。




これは「ウディタの初期フォントがMSゴシックであること」「MSゴシックが等幅フォントであること」をうまく使った方法なんですが、いやはやたった2イベントで解決できるとは_| ̄|○



※簡単な使い方
1.長さを調べたい文字列変数をAとする
2.「文字列操作」→「Aから\nを全消去する」(文字列を1行にする必要があるため)
3.「ピクチャ」→「文字列」→「\f[10]\s[A]」を表示(←必ず等幅フォントで表示させる事、表示させたくないなら透明度0でOK)
4.「変数操作+」→「ピクチャの大きさ(横)」
5.4で取得した数÷10=Aの文字列の長さ(半角は0.5として数えてある)

拍手

PR

Comment

お名前
タイトル
文字色
URL
コメント
パスワード

Trackback

この記事のトラックバックURL:

プラグイン

カウンター

サイト移動

メインページへ行く
背伸びした視点の日々
旧ブログへ行く
この視点の日々

執筆者として参加していたようです
ウディタ新聞

ついったー

カレンダー

06 2017/07 08
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 25 26 27 28 29
30 31

プロフィール

HN:
ぽり0655
年齢:
28
性別:
男性
誕生日:
1989/04/16
自己紹介:
主に日記を書きながら、たまにゲームを作ったり作らなかったり。

最新記事

最新コメント

※ぽりが返信したコメントには、タイトル横にマークが付いています
[07/28 MK]
[03/10 拍手したものです]
[12/25 NONAME]
[12/13 拍手したものです]
[09/15 拍手したものです]

カテゴリー

ブログ内検索

アーカイブ

RSS

管理者専用