Зацикливание кубов и добавление материала (Away3D)

Я пытаюсь создать петлю из кубов и применить ColorMaterial к поверхности. Основной класс actionscript имеет следующий метод для создания цикла. Существует внешний файл класса под названием Building, который отвечает за форму и ColorMaterial. К сожалению, я, кажется, делаю что-то не так. Flash Builder не показывает никаких предупреждений или ошибок. Но когда я запускаю тест, все, что я получаю, это черный экран.

        private function buildCity():void
    {
        var citySize:int = 1800;
        var buildingSize:int = 100;
        var roadSize:int = 50;
        // Loop across in the x direction and again in the z direction

        for(var cityX:int=citySize/2;cityX<citySize/2;cityX+=buildingSize+roadSize) 
        {
            for(var cityZ:int=citySize/2;cityZ<citySize/2;cityZ+=buildingSize+roadSize) 
            {
                // Create buildings
                var building:Building = new Building();

                // Position it
                building.x = cityX;
                building.z = cityZ;

                // Add to the scene
                view.scene.addChild(building);
            }
        }
    }       

Класс Building отвечает за форму и материал

package
{
import away3d.entities.Mesh;
import away3d.materials.ColorMaterial;
import away3d.primitives.CubeGeometry;


public class Building extends Mesh
{
    public function Building()
    {
        super(new CubeGeometry(50,100,50));
        // Make a material
        material = new ColorMaterial(Math.random()*0xFFFFFF);
        // Offset the y position based on height
        y = 50;
    }
}
}

person user2461697    schedule 13.01.2014    source источник


Ответы (1)


Проверьте параметры цикла. Например, в приведенном выше коде вы устанавливаете cityX в citySize / 2, а затем позволяете ему выполнять итерацию, пока cityX < citySize / 2.

Поскольку cityX >= citySize / 2 с самого начала, цикл никогда не выполняется.

То же самое касается внутреннего цикла.

person david.emilsson    schedule 13.01.2014
comment
Я попробовал ваше предложение, но это ничего не изменило. Я даже дошел до того, что добавил отрицательный знак к citySize/2, но результат остался прежним. - person user2461697; 14.01.2014
comment
@ user2461697 - Можете ли вы подтвердить, что циклы выполняются? Попробуйте записать позиции для каждого здания. Если добавляются здания, возможно, вам нужно убедиться, что камера действительно смотрит в правильном направлении и т. д. - person david.emilsson; 14.01.2014