Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.08.2017, 11:25
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 1  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
По умолчанию Жирная линия из границ векторных квадратов в сетке

Не раз сталкивался, что при составлении векторных квадратов в сетку, границы начинают сливаться в жирную линию на каждом пятом квадрате.
Все границы одинаковые, все координаты целые, все размеры одинаковые, при приближении всё выглядит нормально, однако без масштабирования, растягивания флешки возникает вот такая фигня.



Вот так рисую сетку
Код AS3:
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;
	}
}
Вот так квадрат
Код AS3:
private function draw():void
{
	graphics.clear();
	graphics.lineStyle(1, 0);
	graphics.beginFill(_color);
	graphics.drawRect(0, 0, SIZE, SIZE);
	graphics.endFill();
}
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 14.08.2017 в 11:42.
Старый 14.08.2017, 18:07
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 2  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
артефакт появляется в фактическом размере, без анзума? при растеризации все ок?

Старый 14.08.2017, 18:21
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 3  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 919
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
Попробуй у лайнстайла вклчюить pixelHinting
__________________
ЛОДКИ

Старый 14.08.2017, 18:34
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 4  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
FlashRus, помогло, спасибо.
Не помогло, я просто забыл, что до этого каждую ячейку на пиксель сдвигал, чтобы доп пикселей не было видно.
Секунду, действительно, у меня стоит Show All в плеере. Но мне как-бы важно было сделать, чтобы оно выглядело одинаково в любом масштабе, так как флешка будет открываться как проектор.
Выходит, нужно для этого обрабатывать RESIZE?
__________________
There is no thing in this world that is not simple.

Старый 14.08.2017, 18:39
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 5  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 919
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
Попробуй красить каждую линию в рандомный цвет и кинь скрин.
__________________
ЛОДКИ

Старый 14.08.2017, 18:45
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 6  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™

Там, где отсутствуют линии - всё ок, это по сценарию)
При 100% масштабе всё ок, но всё же, мне придётся писать лишний код, если я не смогу заставить Show All работать как нужно.
__________________
There is no thing in this world that is not simple.

Старый 14.08.2017, 18:49
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 7  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 919
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
Таки где-то есть дробные координаты.
Может у контейнера.
Изображения
 
__________________
ЛОДКИ

Старый 14.08.2017, 18:53
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 8  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Размер блока
Код AS3:
public static const SIZE:int = 50;
Разрешение
Код AS3:
public static const W:int = 800;
public static const H:int = 800;
800 делится на 50 без остатка, да и это не влияет на координаты. В шапке темы весь код.
Код AS3:
for (var i:int = 0; i < (App.W / (Block.SIZE)); i++)
	_blocks.push(new Array((App.H - Block.SIZE) / (Block.SIZE)));
Контейнеры все в нулевых координатах.
Ну и для полноты
Код AS3:
public static const LINE_OFFSET:int = Block.SIZE;
Видимо проблема с масштабированием у самого плеера.
__________________
There is no thing in this world that is not simple.

Старый 14.08.2017, 19:03
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 9  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 919
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
Если ты уверен в том, что творится в твоём графиксе, то после всех манипуляций с координатами и размерами можно попробовать тупо пробежаться по всем width, height, x, y твоих DO и вывести в трейс.
Не исключено, что у кого-нить будет 99.95 вместо 100

Код AS3:
(App.H - Block.SIZE) / (Block.SIZE)
- ну и попробуй это завернуть в Math.ceil, Math.round и т.п.
__________________
ЛОДКИ

Старый 14.08.2017, 19:08
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 10  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Код:
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, время: 21:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.