2016-06-02 12 views
-1

Я создаю приложение со вспышкой as3.0. Этот мой код.addChild с петлями и разными свойствами высоты

function onCompleteLoadTimeline(event:Event){ 
    var result:Object = JSON.parse(event.target.data); 
    var yPos = 0; 

    for (var i:int=0;i<=2;i++){ 
     tpostArr[i] = new t_post(); 
     var batas_mc:batas = new batas(); 

     tpostArr[i].foto.x = 52.50; 
     tpostArr[i].foto.y = 52.50; 

     tpostArr[i].nama.x = 120; 
     tpostArr[i].nama.y = 20; 

     tpostArr[i].postingan.x = 120; 
     tpostArr[i].postingan.y = 55.15; 
     tpostArr[i].postingan.wordWrap = true; 
     tpostArr[i].postingan.autoSize = TextFieldAutoSize.LEFT; 

     tpostArr[i].tombol_suka.x = 440; 
     tpostArr[i].tombol_suka.y = 73; 
     tpostArr[i].nama.text = result[i].timeline_name;  
     tpostArr[i].postingan.text = result[i].timeline_post; 
     batas_mc.x = 0; 
     batas_mc.y = tpostArr[i].postingan.y + tpostArr[i].postingan.height + 20; 
     tpostArr[i].addChild(batas_mc); 

     timeline_mc.addChild(tpostArr[i]); 
     tpostArr[i].y = i* tpostArr[i].height; 
    } 
} 

о y положении tpost. высота tpost не всегда одинакова. tpost может быть выше в зависимости от tpostArr [i] .postingan.height, и я хочу, чтобы tpost не перекрывался. Может ли это быть разрешено enterFrame? если вы можете показать код для меня?

+0

Я слышал, что он всегда предлагал код на английском языке. Вероятно, хорошая привычка, когда это возможно. Сделал бы ваш код более понятным. Но я все равно буду смотреть между работой. –

ответ

1

Я бы использовал переменную для хранения наибольшего значения, которое является не перекрытием. Другими словами, если добавить экземпляр экранного объекта в точке х = 20, а объект дисплея составляет 10 пикселей в ширину, переменная будет установлен на 30, как это:

yourVar = yourMovieClip.x + yourMovieClip.width 

Затем, когда вы добавить следующий, установите нижний предел на yourVar.

Эта концепция должна работать и быть довольно прост в применении к вашей ситуации.

Я думаю, что в вашем случае вы пытаетесь создать экземпляр объектов с определенным количеством вертикальных интервалов, верно? Если это так, просто сделать

yourVar = tpostArr[i].y + tpostArray[i].height; 

и установить у значение следующего экземпляра к

yourVar + 5; // or whatever number of pixels you want. 

Таким образом, высота каждого экземпляра может быть любое количество, и вы переменная хранится, что будет следующее значение y для размещения tpost at.

Надеюсь, я хорошо понял вашу проблему. Дайте мне знать, если это сработает.

+0

Спасибо, очень хорошо работает. И я заменю весь мой код на английский :) –

 Смежные вопросы

  • Нет связанных вопросов^_^