我正在尋找一種方法在ActionScript 3中允許用戶滾動TextField(從左到右),如果文本的數量大於TextField的寬度而沒有將光標更改爲閃爍I.ActionScript 3 textfield禁用默認光標
textfield位於MovieClip中。我不能使用MouseChildren = false和selectable = false,因爲兩者都停止可滾動的文本字段。
任何想法?
我正在尋找一種方法在ActionScript 3中允許用戶滾動TextField(從左到右),如果文本的數量大於TextField的寬度而沒有將光標更改爲閃爍I.ActionScript 3 textfield禁用默認光標
textfield位於MovieClip中。我不能使用MouseChildren = false和selectable = false,因爲兩者都停止可滾動的文本字段。
任何想法?
那麼,最簡單的方法是設置myTextField.selectable = false。光標不會更改,文本字段的內容仍可滾動。也許我在這裏錯過了一些東西,但它適用於我的簡單測試。
我從頭開始創建一個小項目,不能複製這樣的結果因爲TextField現在是不可滾動的。我真的不確定你是如何設法做到的。也許你可以提供這個工作的例子嗎? – AntBirch
當然,你可以找到例子[這裏](http://wonderfl.net/c/0rVK)。由於頁面有自己的可滾動內容,因此最好將預覽切換到全屏模式。 – Nbooo
我想我可能對我的問題措辭不佳。 TextField需要可滾動且不可拖動。我有TextField其中包含文本太長的文本字段,所以這是隱藏的。我希望用戶能夠從左向右滾動TextField以便能夠查看所有文本。我遇到的問題是,如果我可以選擇TextField,那麼textfield不能從左到右滾動。 – AntBirch
我建議如下:爲孩子TextField
mc.mouseChildren = false;
mc.addEventListener(MouseEvent.MOUSE_WHEEL, scroll);
關掉鼠標交互性和手動滾動它:
private function scroll(e:MouseEvent):void{
tf.scrollV += e.delta;
}
工作實例here
更新:
要滾動的文字水平,你需要改變TextField
的scrollH屬性,例如,你可以處理MOUSE_WHEEL
事件是這樣的:
private function scroll(e:MouseEvent):void{
tf.scrollH -= e.delta;
}
我覺得這個答案有點混亂。我不希望能夠拖動MovieClip,我只是希望文本可以像動態TextField一樣可以滾動。 – AntBirch
如果你仍然是開放的建議...
(這是翻車滾動代替鼠標向下拖動滾動)
var scrollSize : int = 5; //# scrolling speed
tf.selectable = false;
tf.height = 25; //# (set height only if [tf] is already on Stage with text)
tf.addEventListener(MouseEvent.MOUSE_OVER, scroll_start);
tf.addEventListener(MouseEvent.MOUSE_OUT, scroll_stop);
function scroll_start (evt:MouseEvent) : void
{ tf.addEventListener(Event.ENTER_FRAME, handler_enterFrame); }
function scroll_stop (evt:MouseEvent) : void
{ tf.removeEventListener(Event.ENTER_FRAME, handler_enterFrame); }
function handler_enterFrame (evt:Event) : void
{
//# touch right edge = scroll text towards left
if (tf.mouseX >= (tf.width - 10)) { tf.scrollH += scrollSize; }
//# touch left edge = scroll text towards right
if (tf.mouseX <= (tf.x + 10))
{
if (tf.scrollH > 0){ tf.scrollH -= scrollSize; }
else { /* do else here = Hurray */ }
}
}
有一個奇怪的效果,如果你完全滾動文本/句子,然後立即結束只發生向後滾動,當滾動到零滾動時會出現「反彈」效果。可能造成輸入框架事件。將檢查後,今晚如果可能的,但一般的概念是有代碼...
得飛,但希望它可以幫助...
非常感謝您的回答,不幸的是MOUSE_OVER不適合這個項目,但是會在將來記住它。 – AntBirch
@AntBirch,不用擔心朋友,你現在有一個可行的解決方案。 –
更新我的回答 – www0z0k