|
|
|||||
Цитата:
Цитата:
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Цитата:
Добавлено через 5 минут Цитата:
use namespace mx_internal; private function moveText(e:TimerEvent):void { if(this.moveLeft) { labelDisplay.x -= 4; if(labelDisplay.x < -labelDisplay.width) { this.moveLeft = false; } } else { labelDisplay.x += 4; if(labelDisplay.x > 4) { this.moveLeft = true; } } var g:Graphics = labelDisplay.graphics; var b:Rectangle = labelDisplay.bounds; g.lineStyle(1, 0xFF0000); g.drawRect(b.x, b.y, b.width, b.height); }
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Так работает, но в таком случае текст не становиться isTruncated.А из-за этого и весь сыр-бор, Копаюсь дальше...
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Цитата:
Добавлено через 16 минут <?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" width="100%"> <fx:Script> <![CDATA[ import mx.core.mx_internal; import mx.events.FlexEvent; private var timer:Timer; private var moveLeft:Boolean=true; private function normalState(event:FlexEvent):void { if (this.timer != null) { this.timer.removeEventListener(TimerEvent.TIMER, moveText); this.timer.stop(); this.timer=null; this.labelDisplay.left=8; } } private function selectedState(event:FlexEvent):void { this.timer=new Timer(50); this.timer.addEventListener(TimerEvent.TIMER, moveText); this.timer.start(); } use namespace mx_internal; private function moveText(e:TimerEvent):void { var labelLeft:Number=Number(labelDisplay.left); var bounds:Rectangle=labelDisplay.bounds; if (this.moveLeft) { labelLeft-=4; if (labelLeft < -bounds.width) { this.moveLeft=false; } } else { labelLeft+=4; if (labelLeft > 4) { this.moveLeft=true; } } labelDisplay.left=labelLeft; } ]]> </fx:Script> <s:states> <s:State name="normal" enterState="normalState(event)"/> <s:State name="selected" enterState="selectedState(event)"/> </s:states> <s:Label id="labelDisplay" left="8" left.normal="8" right="8" fontSize="36" verticalCenter="0" maxDisplayedLines="1"/> </s:ItemRenderer>
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
alatar спасибо за помощь, решил сделать так :
<?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Script> <![CDATA[ import mx.core.mx_internal; import mx.events.FlexEvent; private var timer:Timer; private var moveLeft:Boolean = true; private const PADDING:uint = 12; private const SPEED:uint = 4; private function normalState(event:FlexEvent):void { if(this.timer != null) { this.timer.removeEventListener(TimerEvent.TIMER , moveText); this.timer.stop(); this.timer = null; this.labelDisplay.setStyle("paddingLeft" , PADDING); } } private function selectedState(event:FlexEvent):void { var textWidth:Number = this.labelDisplay.measuredWidth - this.labelDisplay.getStyle("paddingLeft"); if(textWidth > this.labelDisplay.width + PADDING); this.timer = new Timer(50); this.timer.addEventListener(TimerEvent.TIMER , moveText); this.timer.start(); } private function moveText(e:TimerEvent):void { var textWidth:Number = this.labelDisplay.measuredWidth - this.labelDisplay.getStyle("paddingLeft"); if(this.moveLeft) { this.labelDisplay.setStyle("paddingLeft" , this.labelDisplay.getStyle("paddingLeft") - SPEED); if(Math.abs(this.labelDisplay.getStyle("paddingLeft")) > textWidth - this.labelDisplay.width + PADDING){ this.moveLeft = false; } }else{ this.labelDisplay.setStyle("paddingLeft" , this.labelDisplay.getStyle("paddingLeft") + SPEED); if(this.labelDisplay.getStyle("paddingLeft") > PADDING){ this.moveLeft = true; } } } ]]> </fx:Script> <s:states> <s:State name="normal" enterState="normalState(event)"/> <s:State name="selected" enterState="selectedState(event)"/> </s:states> <s:Label id="labelDisplay" left="{PADDING}" right="8" top="8" bottom="8" fontSize="36" verticalCenter="0" maxDisplayedLines="1"/> </s:ItemRenderer>
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
Часовой пояс GMT +4, время: 21:16. |
|
« Предыдущая тема | Следующая тема » |
|
|