Цитата:
|
Зачем рендереру нужен вдруг метод normalizeURL()?
|
я думаю, URL - адрес файла с изображением...
код рендерера, пожалуйста:

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalScrollPolicy="off" verticalScrollPolicy="off"
backgroundImage="assets/inventory/cell.png"
initialize="init()"
mouseOver="showButtons()"
mouseOut="hideButtons()"
toolTip="_"
toolTipCreate="createToolTip(event)"
>
<mx:Image id="mImage" source="{mImageSource}" />
<mx:Button id="btnUse"
x="0"
y="0"
width="{BUTTON_SIZE}"
height="{BUTTON_SIZE}"
icon="@Embed(source='../../../../../resources/btn_useitem.png')"
toolTip="{resourceManager.getString('strings', 'BTN_USE')}"
click="onBtnUseClick()"
/>
<mx:Button
id="btnSell"
x="{BUTTON_SIZE + BUTTON_GAP}"
y="0"
width="{BUTTON_SIZE}"
height="{BUTTON_SIZE}"
icon="@Embed(source='../../../../../resources/btn_sellitem.png')"
toolTip="{resourceManager.getString('strings', 'BTN_SELL')}"
click="onBtnSellClick()"
/>
<mx:TextArea id="lbAmount"
x="0"
y="{this.height - BUTTON_SIZE}"
width="{BUTTON_SIZE}"
height="{BUTTON_SIZE}"
text="{mAmount}"
selectable="false"
backgroundColor="#AAAAAA"
backgroundAlpha="0.7"
fontWeight="bold"
color="#0000FF"
/>
<mx:Script>
<![CDATA[
import MiniIT.projects.petwar.net.IModuledServer;
import MiniIT.projects.petwar.ui.CustomToolTip;
import mx.events.ToolTipEvent;
private const BUTTON_SIZE : int = 20;
private const BUTTON_GAP : int = 3; // расстояние между кнопками
private var mShowUseButton : Boolean = false;
private var mShowSellButton : Boolean = false;
[Bindable]
private var mImageSource : * ;
[Bindable]
private var mAmount : String;
private function init():void
{
mouseChildren = true;
hideButtons();
}
override public function set data( value:Object ):void
{
super.data = value;
trace("-- inventory ir set data --", data.type, data.image);
switch(data.type)
{
case "clothing":
case "food":
case "toy":
case "property":
case "spystuff":
mShowUseButton = true;
mShowSellButton = (data.price > 0);
break;
default:
mShowUseButton = false;
mShowSellButton = false;
toolTip = "";
break;
}
if (data && data.id >= 0 && data.id != int.MAX_VALUE)
{
if(data.image)
mImageSource = data.image;
if (data.amount)
mAmount = data.amount.toString();
}
else
{
mImageSource = "/assets/inventory/empty.png";
mAmount = "";
}
}
private function showButtons():void
{
btnUse.visible = mShowUseButton;
btnSell.visible = mShowSellButton;
}
private function hideButtons():void
{
btnUse.visible = false;
btnSell.visible = false;
}
private function createToolTip(event:ToolTipEvent) : void
{
if (data && data.name)
{
var tip : InventoryToolTip = new InventoryToolTip();
tip.data = data;
event.toolTip = tip;
}
}
private function onBtnUseClick():void
{
Global.server.activateItem(data.id);
}
private function onBtnSellClick():void
{
Global.server.shop.sell(data.id);
}
]]>
</mx:Script>
</mx:Canvas>