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

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

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

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
По умолчанию scale и lineTo

здравствуйте.
у меня такая проблема

рисую я линии таким кодом

Код AS1/AS2:
			for (i=0;i<=192;i++){
				fg.graphics.moveTo(i*5,0);
				fg.graphics.lineTo(i*5,fg.height);
			}
рисуется все нормально и красиво.
НО..когда я начинаю скалить графику..линии ведут себя неадекватно.
а именно сетка(которая рисуется) начинается смещаться видоизменяться и тп.
причем через шаг(шаг scale =1)
я помню в 8 флеше была такая тема..и когда рисовал руками..там можно было поставить спец линию, которая не вела себя так.
как это сделать кодом???

Старый 01.09.2009, 16:00
RandomUser вне форума Посмотреть профиль Отправить личное сообщение для RandomUser Найти все сообщения от RandomUser
  № 2  
Ответить с цитированием
RandomUser

Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
А попробуйте рисовать не линии, а прямоугольники. Или поставьте pixelHinting -> true (это в graphics.lineStyle), может и поможет.
__________________
Не всех война убила - многих покалечила

Старый 01.09.2009, 16:05
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 3  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
рисовать к сожалению надо именно линии.
pixelHinting - не помог.
что еще можно придумать?

Добавлено через 25 минут
может есть что-то типа hireline? __)

Старый 01.09.2009, 17:40
ToRR вне форума Посмотреть профиль Отправить личное сообщение для ToRR Найти все сообщения от ToRR
  № 4  
Ответить с цитированием
ToRR

Регистрация: Feb 2007
Сообщений: 63
у flash.display.graphics есть:
public function lineStyle(thickness:Number = NaN, color:uint = 0, alpha:Number = 1.0, pixelHinting:Boolean = false, scaleMode:String = "normal", caps:String = null, joints:String = null, miterLimit:Number = 3):void

из хэлпа: thickness:Number (default = NaN) — An integer that indicates the thickness of the line in points; valid values are 0-255. If a number is not specified, or if the parameter is undefined, a line is not drawn. If a value of less than 0 is passed, the default is 0. The value 0 indicates hairline thickness; the maximum thickness is 255. If a value greater than 255 is passed, the default is 255.

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

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
не..я имел ввиду что-то на подобии..но чтоб не съезжали линии...
неужели никто не сталкивался?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
попробуй поставить pixelHinting = true
И что значит смещаться, видоизменяться и т.д? Поподробнее можно?


Последний раз редактировалось alatar; 01.09.2009 в 20:47.
Старый 02.09.2009, 10:15
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 7  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
pixelHinting = true уже ставил,ибо такое решение подсказали в 2 посте.
по подробнее...
есть сетка нарисованная методом указанным выше.
когда я начинаю зумировать(меняя scale) некоторые из линии(в непонятной прогрессии) смешаются то влево то в право..и нарушается целостность сетки.
то есть она становится не ровной.
ширина линии не меняется. проверял.

Старый 02.09.2009, 12:50
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 8  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Линии при отрисовке округляются до целой точки, из-за этого и появляется "смещение", заметное при малой скорости анимации.
Попробуйте рисовать заливку вместо линии:
Код AS1/AS2:
fg.graphics.beginFill(0);
...
fg.graphics.drawRect(i*5,0, 1,fg.height);
заливка, в отличии от линий, будет рисоваться с "между" точками (альясинг) при этом появится эффект легкого размытия.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 02.09.2009, 12:56
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 9  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
попробовал.
честно говоря ничего не изменилось.

Старый 02.09.2009, 13:42
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 10  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>может есть что-то типа hireline? __)

Так вам просто надо scale9grid (при ней не меняется полщина линии при масштабировании)
http://www.murmadillo.tut.su/m/scale9gridTrue.rar

PS: хоть рисунок и был нарисован мышкой, это дело не меняет, при программном рисовании эффект то-же.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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