Actionscript 3 在flash中更改位图图像
我希望有人能在这里帮助我。我的任务是在actionscript3(AIR)中编写一个聊天引擎,每条聊天信息都有一张海报的图像。因此,我在任何时候都会在屏幕上显示5条聊天信息,但很明显,与信息相关的图像(例如#1)会一直发生变化,因为最后一个人发布的信息不同 我认为错误的是每次我需要替换图像时都使用.addChild方法,因为它只会在舞台上不断创造更多的东西。我试图做的是下面的代码,但它拒绝更新图像。我认为它应该起作用的方式: 第1行--创建添加到“this.ChatLine”的电影类图像 当下一个图像出现在第2行时,假设将用新的图像数据覆盖“ImageBitMap”,但该位不起作用 1--Actionscript 3 在flash中更改位图图像,actionscript-3,Actionscript 3,我希望有人能在这里帮助我。我的任务是在actionscript3(AIR)中编写一个聊天引擎,每条聊天信息都有一张海报的图像。因此,我在任何时候都会在屏幕上显示5条聊天信息,但很明显,与信息相关的图像(例如#1)会一直发生变化,因为最后一个人发布的信息不同 我认为错误的是每次我需要替换图像时都使用.addChild方法,因为它只会在舞台上不断创造更多的东西。我试图做的是下面的代码,但它拒绝更新图像。我认为它应该起作用的方式: 第1行--创建添加到“this.ChatLine”的电影类图像 当下一
this.ChatLine:bmChatImage=new mbChatImage()代码>
2--this.ChatLine.LoadChatImage(“NewImage.png”)代码>
问题是你写了
ImageBitMap = new Bitmap(ChatImageBMD);
第一次只将ImageBitMap
添加到显示列表中。因此,在此之后,您只需更改引用“ImageBitMap
”,而不更改显示的对象。你应该这样写:
ChatImageBMD = Bitmap(ChatImage.content).bitmapData.clone();
if (!ImageBitMap)
{
ImageBitMap = new Bitmap(ChatImageBMD);
}
else
{
ImageBitMap.bitmapData = ChatImageBMD;
}
提示:通过选中ImageBitMap.parent
,可以避免使用布尔值AddedBitMap
顺便说一下,变量的第一个字母应该是小写,以区别类型和类;) 作为说明。建议不要对变量和函数名使用大写字母。它有助于区分静态类引用。(因此,为什么上面代码中的所有变量都有类着色)
ChatImageBMD = Bitmap(ChatImage.content).bitmapData.clone();
if (!ImageBitMap)
{
ImageBitMap = new Bitmap(ChatImageBMD);
}
else
{
ImageBitMap.bitmapData = ChatImageBMD;
}