![]() |
scale и lineTo
здравствуйте.
у меня такая проблема рисую я линии таким кодом Код AS1/AS2:
НО..когда я начинаю скалить графику..линии ведут себя неадекватно. а именно сетка(которая рисуется) начинается смещаться видоизменяться и тп. причем через шаг(шаг scale =1) я помню в 8 флеше была такая тема..и когда рисовал руками..там можно было поставить спец линию, которая не вела себя так. как это сделать кодом??? |
А попробуйте рисовать не линии, а прямоугольники. Или поставьте pixelHinting -> true (это в graphics.lineStyle), может и поможет.
|
рисовать к сожалению надо именно линии.
pixelHinting - не помог. что еще можно придумать? Добавлено через 25 минут может есть что-то типа hireline? __) |
у 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. |
не..я имел ввиду что-то на подобии..но чтоб не съезжали линии...
неужели никто не сталкивался? |
попробуй поставить pixelHinting = true
И что значит смещаться, видоизменяться и т.д? Поподробнее можно? |
pixelHinting = true уже ставил,ибо такое решение подсказали в 2 посте.
по подробнее... есть сетка нарисованная методом указанным выше. когда я начинаю зумировать(меняя scale) некоторые из линии(в непонятной прогрессии) смешаются то влево то в право..и нарушается целостность сетки. то есть она становится не ровной. ширина линии не меняется. проверял. |
Линии при отрисовке округляются до целой точки, из-за этого и появляется "смещение", заметное при малой скорости анимации.
Попробуйте рисовать заливку вместо линии: Код AS1/AS2:
|
попробовал.
честно говоря ничего не изменилось. |
>>может есть что-то типа hireline? __)
Так вам просто надо scale9grid (при ней не меняется полщина линии при масштабировании) http://www.murmadillo.tut.su/m/scale9gridTrue.rar PS: хоть рисунок и был нарисован мышкой, это дело не меняет, при программном рисовании эффект то-же. |
не то..так как я уже написал, что толщина не меняется..меняется положение.
толщина не меняется точно, но за счет чего-то происходит смешение |
Приведите скриншоты, не понимаю о чем речь.
|
Вложений: 1
вот скрин до и после зума.
|
Ну и какой тут зум 0.05???
Бред... Зум должен быт 2, 3 и тд... Ни в однлй программе не зума 0.05. У него ж пиксели не попадают. (меньше пиклсела сделать не получится, сработает сглаживание - и результат будет как на скриншоте) так-что все правильно. |
если позволяет делать зум 0.00005 и тп...значит никакого "должен" тут нет.
можно ли избежать это "сглаживание" ?как-то компенсировать или еще что-нибудь. |
Dezar, никак...
Только если мучать растровую графику с фильтрами и кучей расчетов. Если у вас конечно есть желание фотошоп писать - начните с понимания точек на экране... Ваша задача сейчас примерно так выглядит: Есть 6 лампочек в ряд, нужно зажечь 4 и чтоб между ними было ровно одна не горящая лампочка... Удачи. Пилите пикселы... :) |
сарказм оценил))
ладно.всем спасибо) все понял |
| Часовой пояс GMT +4, время: 09:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.