im, создающий код, где у меня есть поле ввода и кнопка на моем экране. В приведенном ниже коде btnLeggTil (его норвежский) добавляет номер, который вы написали в поле ввода. Он определяет высоту баров. Мой код должен позволять пользователю добавлять бары любой высоты, которую он предпочитает. Как вы можете видеть, я поставил много кода внутри цикла. Проблема с кодом заключается в том, что полосы, которые он делает, перекрывают друг друга. Мне нужно иметь пространство между каждым баром, но не знаю, как это сделать. Заранее спасибо! Вы можете проверить код самостоятельно и посмотреть (просто не забудьте сделать кнопку и поле ввода с именами btnLeggTil и txtInn.Мои гистограммы перекрывают друг друга. Нужна помощь в его решении.
(«høyde» означает высоту) («bredde» означает ширину) («verdier» означает значения) жаль его все норвежского
var verdier:Array = new Array();
btnLeggTil.addEventListener(MouseEvent.CLICK, leggtil);
function leggtil (evt:MouseEvent)
{
verdier.push(txtInn.text);
var totHøyde:int = 200; //total height on diagram
var totBredde:int = 450; //total width on diagram
var antall:int = verdier.length;
var xv:int = 50;
var yb:int = 350;
var bredde:int = (totBredde/antall) * 0.8;
var mellom:int = (totBredde/antall) * 0.2;
var maksHøyde:int = maksVerdi(verdier);
function maksVerdi(arr:Array):Number //finds the biggest value in the array
{
//copies to not destroy the order in the original
var arrKopi:Array = arr.slice();
arrKopi.sort(Array.NUMERIC|Array.DESCENDING);
return arrKopi[0];
}
for(var i:int = 0; i < verdier.length; i++)
{
graphics.lineStyle(2, 0x000000);
graphics.beginFill(0x00ff00);
graphics.drawRect(xv + (bredde+mellom)*i, yb, bredde, -verdier[i] * (totHøyde/maksHøyde));
graphics.endFill();
var txtTall = new TextField();
txtTall.x = xv + (bredde+mellom)*i + 5;
txtTall.y = yb - verdier[i] - 10;
txtTall.type = "dynamic";
txtTall.text = verdier[i];
addChild(txtTall);
}
}
Вы Арент очистки графики, поэтому предыдущий рисунок будет всегда на странице –