|
|
|||||
var squaresNum:uint = /*КОЛ-ВО КВАДРАТОВ*/; var offset:uint = /*РАССТОЯНИЕ МЕЖДУ КВАДРАТАМИ*/; var colsNum:uint = Math.floor(stage.stageWidth / (square.width + offset)); for(var i:uint = 0;i<squaresNum;i++) { var square:MySquare = new MySquare(String(i) ); square.x = (square.width + offset) * (i % colsNum); square.y = (square.height + offset) * Math.floor(i / colsNum); addChild(square); }
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Не работает ваш код! Я хочу решить проблемы двойным циклом, но не знаю, до какого числа надо ставить счетчики в обоих циклах.
__________________
Humanity.push(new Man()); |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
|
|
|||||
Вы меня не понимаете. Например у меня есть переменная numSq = 20;
Тогда как сделать цикл, который выведет построчно 20 квадратов, в каждой строке по 3 квадрата?
__________________
Humanity.push(new Man()); |
|
|||||
Пф... Откуда я знаю переменные a и b? У меня только общее число квадратов.
__________________
Humanity.push(new Man()); |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
package { import flash.display.Sprite; public class Squares extends Sprite { public function Squares() { var maxSquares: int = 20; var increment: int = 0; var rows: int = 3; for (var i:int = 0; i < 100; i++) { // пофиг сколько тут поставить, хоть тысячу, все равно после 20 все остановится for (var j:int = 0; j < rows; j++) { var s:Square = new Square(increment); s.x = j * s.width; s.y = i * s.height; addChild(s); increment ++; if (increment == maxSquares) return; // как достигнуто максимальное число, обрываем функцию } } } } } import flash.text.TextField; internal class Square extends flash.display.Sprite { private var _width: Number = 40; private var _height: Number = 40; public function Square(number:int) { graphics.beginFill(100000000 * Math.random(), 1); graphics.drawRect(0, 0, _width, _height); graphics.endFill(); var tf:TextField = new TextField(); tf.autoSize = "left"; tf.text = String(number); addChild(tf); } override public function get width():Number { return _width; } override public function get height():Number { return _height; } } Последний раз редактировалось goodguy; 17.09.2011 в 19:50. |
|
|||||
Огромное спасибо, не пришло на ум это решение.
__________________
Humanity.push(new Man()); |
|
|||||
Регистрация: Mar 2011
Сообщений: 72
|
а, может, есть у кого решение, как выводить те же квадраты не только построчно, но и блоками?
типа: 1 2 3 //10 11 12 4 5 6 //13 14 15 7 8 9 //16 17 18 всю голову уже сломал |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
определить сколько квадратов должно быть в каждом блоке, и при достижении их количества, равного нужному, просто добавлять, например к переменной х, ширину блока + отступ. Хз правильно ли я понял вопрос
|
Часовой пояс GMT +4, время: 09:08. |
|
« Предыдущая тема | Следующая тема » |
|
|