No.1ベストアンサー
- 回答日時:
「どう1文字ずつ削除するのか」
によって変わると思います。
「テキストフィールドの文字列の後(右)から1文字ずつ削除」
「テキストフィールドの文字列の前(左)から1文字ずつ削除」
「テキストフィールドの文字列をランダムに1文字ずつ削除」
「テキストフィールドの文字列をABC…あいう…順に1文字ずつ削除」
などなど
よくわかりませんので,
「テキストフィールドの文字列の後(右)から1文字ずつ削除」
という例を書きます。
新規ドキュメントを作成して,
次のスクリプトをフレーム1にコピペして
「制御」→「ムービープレビュー」です。
//////////////////////////////////////////////////////////////////////////////
// 適当に TF というテキストフィールドをステージ上に作成したとする
this.createTextField("TF", 0, 50, 100, 0, 0);
TF.border = true;
TF.autoSize = true;
// テキストフィールドに「あいうえお」が入力されていたとする
TF.text = "あいうえお";
//
// ------
//
// 適当に赤いボタン(この場合ムービークリップ)を
// ステージ上に作成したとする
var BTN:MovieClip = this.createEmptyMovieClip("BTN", 1);
BTN.beginFill(0xFF0000, 100);
BTN.moveTo(50, 200);
BTN.lineTo(150, 200);
BTN.lineTo(150, 250);
BTN.lineTo(50, 250);
BTN.lineTo(50, 200);
//
// ---↓本題はココだけ↓---
//
// 赤いボタンをクリックしたときの動作定義
BTN.onRelease = function():Void {
// テキストフィールドの文字を右から消す
TF.text = TF.text.substr(0, TF.text.length-1);
};
//////////////////////////////////////////////////////////////////////////////
この回答への補足
毎度、勉強になります!
length-1
で実現できるとは知りませんでした。
flash技術者の方でしょうか?
ありがとうございました。助かりました。
No.2
- 回答日時:
#1 です。
> length-1
> で実現できるとは知りませんでした。
私も知りませんでした。
と言いますか,
知ってる知らないではなくて,
考えるとそうなるのです(そういうのも方法の1つです)。
あと『「length-1」で取得』しているのではありませんよ。
誤解されている気もするので
// テキストフィールドの文字を右から消す
TF.text = TF.text.substr(0, TF.text.length-1);
について補足します。
簡単なところから
スクリプトを進化させて説明します。
// テキストフィールド TF に 「あ」 を表示
TF.text = "あ";
です。
// テキストフィールド TF に TF と同じ内容を表示
TF.text = TF.text;
です。
// テキストフィールド TF に TF の左1文字を表示
TF.text = TF.text.substr(0, 1);
です。
// テキストフィールド TF に TF の左から2文字を表示
TF.text = TF.text.substr(0, 2);
// テキストフィールド TF に TF の左から右までを表示
// →TFの1文字目から全文字数文字を表示
TF.text = TF.text.substr(0, TF.text.length);
// テキストフィールド TF に TF の左から(右-1)文字までを表示
// →TFの1文字目から(全文字数文字-1)文字を表示
TF.text = TF.text.substr(0, TF.text.length-1);
だから結局
// テキストフィールドの文字を右から消す
TF.text = TF.text.substr(0, TF.text.length-1);
ということになります。
文字列.substr(開始位置, 開始位置からの文字数)
という関数(この場合はメソッド)を知っていれば,
あとはそれを考えて使えば良いということです。
いちいちそれがどのように使えるかなど知りませんし覚えてもいません。
だから
知っているとか知らないとかではなく,
考えて出すということになります。
ご丁寧にありがとうございます。
要はひらめいたものを使ってやってみるって事ですよね。
この関数は知っていましたが、-1という使い方は思いつきませんでした。
時間が無くてテンパっていたので考える暇があまり無かったのですが、
それでもやはり、熟練している方でしたら
すぐに思いつくようなひらめきなんだと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アメブロで音声ファイルを貼る方法
-
スマホでサイトの画像を長押し→...
-
potplayerについて質問です
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
別のアプリケーションのテキス...
-
変数に256文字以上のテキストを...
-
VB6.0 でメニューを作りたいん...
-
全てのテキストボックスをセル...
-
VB.NETで数十行のプログラムを...
-
pdfのテキスト全文コピー、テキ...
-
PDFからepubに変換するウェブサ...
-
RPG(AS400)の本、サイトってあ...
-
'2465'指定した式で参照してい...
-
VBSでMid関数を使ったらエラー...
-
外部テキストのタグ
-
flashでテキストの表示
-
IP Address 入力フォームについて
-
DirectXでの読み込みについて
-
コモンダイアログのshowopenに...
-
VB.NET2005 DataGridViewでレコ...
-
多言語を混在できるか。
-
漢字入力した値のカタカナ変換...
おすすめ情報