Показать сообщение отдельно
Старый 01.12.2009, 18:33
erectus вне форума Посмотреть профиль Отправить личное сообщение для erectus Найти все сообщения от erectus
  № 3  
Ответить с цитированием
erectus

Регистрация: Dec 2009
Сообщений: 25
Цитата:
Зачем рендереру нужен вдруг метод 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>