如何使用AS3在Flash Professional中为即时消息对话设置动画?

时间:2016-05-07 12:40:35

标签: actionscript-3 flash input textbox instant-messaging

我正在使用flash专业CC和AS3创建一个大型“电影”。在一个场景中,我希望我的角色能够和他的朋友在一起。场景已经动画化,显示了他的后脑勺,观众可以阅读他的画面。

我希望用户能够输入我的角色,因此无论用户类型显示在聊天框的底部,然后当用户按下输入时,相同的文本出现在屏幕上的不同位置。

不幸的是,我甚至没有做到这一点。到目前为止,我一直坚持让输入框中的文本出现在其他地方的动态文本框中,所以我一直在观看大量的教程。此代码运行没有错误,但不会输出我想要的文本。

var outputString = outputBox.text; //get key presses only when textfield is edited
    inputBox.addEventListener(KeyboardEvent.KEY_DOWN, handler);

function handler(event:KeyboardEvent){// 13是输入键

function handler(event:KeyboardEvent) { //13 is enter key
if(event.charCode == 13) {  
    outputBox.text = "UserName: " + outputString;

}

}

(请忽略不好的缩进,这对我来说更难以理解如何在此处粘贴代码哈哈。)

无论如何有人知道什么是错的吗?我一直试图解决这个问题几天,所以如果有人可以分享一些示例代码,以获得我所描述的正常工作,那将非常感激。我真正需要做的就是保存用户输入,这样我就可以在任何我想要的地方显示它。谢谢你的阅读!

1 个答案:

答案 0 :(得分:0)

足够简单。只需在按键后将输出的文本值设置为输入。

import flash.text.TextField;
import flash.events.KeyboardEvent;

var input:TextField = new TextField();
addChild(input);
input.type = "input";
input.text = "Type Here!";
input.addEventListener(KeyboardEvent.KEY_UP, handler);

var output:TextField = new TextField();
addChild(output);
output.text = "other text";
output.alpha = 0.5;
output.y = 25;

function handler(e:KeyboardEvent):void {
    output.text = input.text;
}