|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Жирная линия из границ векторных квадратов в сетке
Не раз сталкивался, что при составлении векторных квадратов в сетку, границы начинают сливаться в жирную линию на каждом пятом квадрате.
Все границы одинаковые, все координаты целые, все размеры одинаковые, при приближении всё выглядит нормально, однако без масштабирования, растягивания флешки возникает вот такая фигня. Вот так рисую сетку for(var ax:int = 0; ax < _blocks.length; ax++) { for (var ay:int = 0; ay < _blocks[0].length; ay ++) { var block:Block = new Block(0, 0xFFFFFF); //Determining group of the block if (Math.random() > _hardness) { if (ax > 0 && ay > 0) { block.group = (Math.random()<0.5)?_blocks[ax-1][ay]:_blocks[ax][ay-1] ; } else { block.group = int(Math.random() * _stones); } } block.color = _groups[block.group]; _blocks[ax][ay] = block; addChild(block); block.y = LINE_OFFSET + ay * (Block.SIZE); block.x = ax * Block.SIZE; } }
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 14.08.2017 в 11:42. |
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
артефакт появляется в фактическом размере, без анзума? при растеризации все ок?
|
|
|||||
Не помогло, я просто забыл, что до этого каждую ячейку на пиксель сдвигал, чтобы доп пикселей не было видно. Секунду, действительно, у меня стоит Show All в плеере. Но мне как-бы важно было сделать, чтобы оно выглядело одинаково в любом масштабе, так как флешка будет открываться как проектор. Выходит, нужно для этого обрабатывать RESIZE?
__________________
There is no thing in this world that is not simple. |
|
|||||
Там, где отсутствуют линии - всё ок, это по сценарию) При 100% масштабе всё ок, но всё же, мне придётся писать лишний код, если я не смогу заставить Show All работать как нужно.
__________________
There is no thing in this world that is not simple. |
|
|||||
Размер блока
Разрешение 800 делится на 50 без остатка, да и это не влияет на координаты. В шапке темы весь код. for (var i:int = 0; i < (App.W / (Block.SIZE)); i++) _blocks.push(new Array((App.H - Block.SIZE) / (Block.SIZE))); Ну и для полноты Видимо проблема с масштабированием у самого плеера.
__________________
There is no thing in this world that is not simple. |
|
|||||
Если ты уверен в том, что творится в твоём графиксе, то после всех манипуляций с координатами и размерами можно попробовать тупо пробежаться по всем width, height, x, y твоих DO и вывести в трейс.
Не исключено, что у кого-нить будет 99.95 вместо 100 - ну и попробуй это завернуть в Math.ceil, Math.round и т.п.
__________________
ЛОДКИ |
|
|||||
0 0 0 50 0 100 0 150 0 200 0 250 0 300 0 350 0 400 0 450 0 500 0 550 0 600 0 650 0 700 0 750 50 50 50 100 50 150 50 200 50 250 50 300 50 350 50 400 50 450 50 500 50 550 50 600 50 650 50 700 50 750 100 50 100 100 100 150 100 200 100 250 100 300 100 350 100 400 100 450 100 500 100 550 100 600 100 650 100 700 100 750 150 50 150 100 150 150 150 200 150 250 150 300 150 350 150 400 150 450 150 500 150 550 150 600 150 650 150 700 150 750 200 50 200 100 200 150 200 200 200 250 200 300 200 350 200 400 200 450 200 500 200 550 200 600 200 650 200 700 200 750 250 50 250 100 250 150 250 200 250 250 250 300 250 350 250 400 250 450 250 500 250 550 250 600 250 650 250 700 250 750 300 50 300 100 300 150 300 200 300 250 300 300 300 350 300 400 300 450 300 500 300 550 300 600 300 650 300 700 300 750 350 50 350 100 350 150 350 200 350 250 350 300 350 350 350 400 350 450 350 500 350 550 350 600 350 650 350 700 350 750 400 50 400 100 400 150 400 200 400 250 400 300 400 350 400 400 400 450 400 500 400 550 400 600 400 650 400 700 400 750 450 50 450 100 450 150 450 200 450 250 450 300 450 350 450 400 450 450 450 500 450 550 450 600 450 650 450 700 450 750 500 50 500 100 500 150 500 200 500 250 500 300 500 350 500 400 500 450 500 500 500 550 500 600 500 650 500 700 500 750 550 50 550 100 550 150 550 200 550 250 550 300 550 350 550 400 550 450 550 500 550 550 550 600 550 650 550 700 550 750 600 50 600 100 600 150 600 200 600 250 600 300 600 350 600 400 600 450 600 500 600 550 600 600 600 650 600 700 600 750 650 50 650 100 650 150 650 200 650 250 650 300 650 350 650 400 650 450 650 500 650 550 650 600 650 650 650 700 650 750 700 50 700 100 700 150 700 200 700 250 700 300 700 350 700 400 700 450 700 500 700 550 700 600 700 650 700 700 700 750 750 50 750 100 750 150 750 200 750 250 750 300 750 350 750 400 750 450 750 500 750 550 750 600 750 650 750 700 750 750 0 0 Может, проблема с Show All? И из-за этого получаются дробные координаты... Открыл последней версией плеера, и при Show All всё окей. Но при разворачивании на весь экран, снова появляется, но уже намного меньше. Выходит, проще всего рисовать границу снаружи блоков просто один раз, чтобы не выходило такой накладки, правда я не представляю, как это можно сделать х) Но нет, мне таки нужны блоки с собственной границей.
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 14.08.2017 в 19:22. |
Часовой пояс GMT +4, время: 20:36. |
|
« Предыдущая тема | Следующая тема » |
|
|