У меня есть файл Flash, который я использую для загрузки в прозрачных PNG (штриховые рисунки), и использую Flash, чтобы позволить пользователю выбрать цвет рисунка и мгновенно изменить цвет.
Этовсе работает так, как должно быть.Я использую компонент UILoader для загрузки изображения, получаемого с помощью flashvars, а затем меняю цвет при необходимости.
Единственное, что изображение иногда выглядит не очень плавным.Я видел различные статьи, в которых люди говорят об использовании сглаживания = true в растровом изображении.Но я не уверен, где это установить или как это работает.
Я новичок в Flash и ActionScript, кто-нибудь может мне помочь?Ниже мой код (main.as).Я пропустил функции changeColor () и getFlashvars () и строки импорта.потому что я не думаю, что это уместно здесь, и чтобы все было как можно проще и короче.
Большое спасибо за любую помощь и / или указатель, который вы можете мне дать!
package {
public class Main extends MovieClip {
public function Main() {
init();
if(getFlashvars().img != undefined) {
if(getFlashvars().clr != undefined) {
loadImage(getFlashvars().img, getFlashvars().clr);
} else {
loadImage(getFlashvars().img);
}
} else {
loadImage('example.png', 'FFFFFF');
}
}
private function init() {
ExternalInterface.addCallback('changeColor', this.changeColor);
progressBar.visible = false;
progressBar.mode = 'manual';
progressBar.source = uiLoader;
uiLoader.scaleContent = true;
uiLoader.addEventListener(ProgressEvent.PROGRESS, eventImageProgress);
uiLoader.addEventListener(Event.COMPLETE, eventImageLoaded);
}
/**
* Load a new image from the given url. Replace the color in it with newColor
*/
public function loadImage(url:String, newColor:String='') {
//progressBar.visible = true;
uiLoader.load(new URLRequest(url));
if(newColor.length > 0) {
changeColor(newColor);
}
}
}