Вход

Просмотр полной версии : из TextInput в фкнкцию


vermut
28.10.2009, 17:48
Здраствуйте!
Суть проекта заключается в следующем: при изменении
значений x,y в Draw = setDraw(x,y); изменяется ширина и высота квадрата,
Проблема состоит в передаче значения из TextInput в фкнкцию setDraw, чтобы при различно введенных значениях TextInput добавлялся новый квадрат,с заданной шириной и высотой равных этим значениям
Но кок бы не старался, требуемого результата, добиться не могу.
Пример кода XML<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
xmlns:ns1="*"
color="#000000"
backgroundGradientAlphas="[1.0, 1.0]"
backgroundGradientColors="[#000000, #C0C0C0]"
frameRate="100"
creationComplete="creationCompleteHandler()">
<mx:Script>
<![CDATA[
import RectView;
private var rectView:RectView;
private function creationCompleteHandler():void
{
rectView = new RectView();

}
private function submitlocate( evt:Event ):void
{
rectView.addlocate( inputlat.text, inputlon.text );
}

]]>
</mx:Script>
<ns1:RectView id="engineManager" x="0" y="0" width="100%" height="100%"/>
<mx:TextInput id="inputlat" width="200" x="500" y="78"/>
<mx:TextInput id="inputlon" width="200" x="500" y="108"/>
<mx:Button width="100" click="submitlocate( event )" x="550" y="138"/>
</mx:Application>

package {
import flash.text.TextField;
import mx.core.UIComponent;
public class RectView extends UIComponent {
private var Draw:Object;
public function RectView() {

graphics.lineStyle(1, 0x000000);
graphics.beginFill(0xFF0000);
setMarker();
}

public function addlocate( inputlat:String, inputlon:String ):void
{
/**
* inputlat = String ("");
inputlon = String ("");
???
var setlocWidth:Number= new Number ();
var setlocHeight:Number= new Number ();
Draw = setDraw(setlocWidth,setlocHeight);

*/
}
private function setMarker () : void {
Draw = setDraw(200,200);

}
public function setDraw (_width:Number, _height:Number):Object{
var width: Number = _width;
var height: Number = _height;
graphics.drawRect(500,200,width,height);
return graphics
}
}
}

lighto
29.10.2009, 07:34
приравняй int(inputlat.text); int(inputlon.text); куда нужно и усе

vermut
29.10.2009, 09:22
Если вас не задруднит, покажите на примере функции addlocate,
как все это реализовать.

alatar
30.10.2009, 00:51
package {
import flash.text.TextField;
import mx.core.UIComponent;
public class RectView extends UIComponent {
private var Draw:Object;
public function RectView() {
setDraw(200, 200);
}

public function addlocate( inputlat:String, inputlon:String ):void {
setDraw(Number(inputlat), Number(inputlon));
}

private function setDraw (markerWidth:Number, markerHeight:Number):void {
graphics.clear();
graphics.lineStyle(1, 0x000000);
graphics.beginFill(0xFF0000);
graphics.drawRect(500,200,markerWidth,markerHeight);
graphics.endFill();
}
}
}