Volledige versie bekijken : lineTo geeft me geen zuivere lijn
beanbag
%Europe/Berlin %138 %2007, 03:19
Hoe komt het dat dit script geen zuivere lijnen genereert ?
_root.createEmptyMovieClip("raster",_root.getNextHighestDepth());
with (raster) {
lineStyle(1,game.rastercolor,100)
var height = Stage.height;
var width = Stage.width;
var interval = game.toren.hoogte;
for (i=1;i<=height;){moveTo(0,i);lineTo(width,i);i+=interval; }
for (i=1;i<=width;){moveTo(i,0);lineTo(i,height);i+=interval; }}
Wat krijg ik wel te zien:
een zuivere lijn, interval, troebele lijn, interval, zuivere lijn, interval, troebele lijn,...
en dit zowel horizontaal als verticaal.
Wat bedoel ik met een troebele lijn ?
een lijn van twee pixels dik, waarvan de kleur donkerder is en de alpha lager.
Ik denk dat je ook zulke dingen krijgt als je toevallig een lijn op een halve pixel plaatst ofzo. Net zoals fonts dan onzuiver plegen te zijn.
waar zit het gat in mijn script ?
alvast bedankt.
ps: game.toren.hoogte is uiteraard een rond getal. 20
Jan
%Europe/Berlin %419 %2007, 10:04
Hoe komt het dat dit script geen zuivere lijnen genereert ?
Bij mij geeft jouw script eigenlijk helemaal geen onzuivere lijnen. :S
En verder kan je (misschien beter) de gewone for loop gebruiken. (met i++ dus)
_root.createEmptyMovieClip("raster",_root.getNextHighestDepth());
with (raster)
{
lineStyle(1,0x000000,100)//game.rastercolor ipv 0x000000
var interval:Number = 20;//game.torenhoogte
for (i=1;i<=Stage.height/interval;i++)
{
moveTo(0,interval*i);
lineTo(Stage.width,interval*i);
}
for (i=1;i<=Stage.width/interval;i++)
{
moveTo(interval*i,0);
lineTo(interval*i,Stage.height);
}
}
Daarnaast vind ik het altijd beter om geen namen als height en width voor variabelen te gebruiken want dat zijn al properties.
Jan
beanbag
%Europe/Berlin %527 %2007, 12:39
Merci, 'k zal het eens opnieuw proberen in een leeg document.
ivm geen variabelen nemen die al properties zijn: Ik had zelf ook al het gevoel dat dat niet echt optimaal is.
ivm het verschil tussen jouw en mijn loop. Die van jou ziet er inderdaad eenvoudiger uit, maar zit er effectief een kwalitatief verschil op ? Op welk vlak ligt dat dan ?
Bij linestyle en interval heb je de waarde gewoon ingevuld ipv mijn variabelen te gebruiken (ze staan er wel bij achter de comments).
Moet ik dit ook doen, of was dat gewoon om uw eigen loop te kunnen testen op zuivere lijnen ? Ik neem aan het tweede.
Merci.
EDIT:
Ik heb het dus opnieuw geprobeerd, weeral problemen.
Dan heb ik de resolutie van mijn laptop aangepast, geen effect.
Vervolgens heb ik de movie geëxporteerd en op mijn vaste computer gezet.
Hierop zijn de lijnen zuiver...
wat kan hiervan de oorzaak zijn ?
EDIT TWEE: er toch van overtuigd zijnde dat het aan de resoluties lag ben ik elke resolutie van mijn laptop beginnen afgaan. En inderdaad bij 1440x900 bleken de lijnen dan toch mooi zuiver te zijn.
Jan
%Europe/Berlin %660 %2007, 15:50
En inderdaad bij 1440x900 bleken de lijnen dan toch mooi zuiver te
widescreen 19" ?
Je kan eens googlen op "native resolution" . ;)
ivm geen variabelen nemen die al properties zijn: Ik had zelf ook al het gevoel dat dat niet echt optimaal is.
Flash zal er niet op vastlopen maar ik vind het toch niet handig als ik hier en daar in mijn script bijvoorbeeld vierkant_mc.height=100; zie staan. Veel kans dat ik er zonder nadenken de volgende keer als ik het script zie, er een underscore tussengooi omdat ik ervan uitga dat ik die vergeten was. :S
ivm het verschil tussen jouw en mijn loop. Die van jou ziet er inderdaad eenvoudiger uit, maar zit er effectief een kwalitatief verschil op ? Op welk vlak ligt dat dan ?
Kwalitatief zeker niet. Ieder heeft zijn stijl. Ik ben gewend van in de for loop "i++" te zien staan. Da's al.
Bij linestyle en interval heb je de waarde gewoon ingevuld ipv mijn variabelen te gebruiken (ze staan er wel bij achter de comments).
Moet ik dit ook doen, of was dat gewoon om uw eigen loop te kunnen testen op zuivere lijnen ? Ik neem aan het tweede.
correct aangenomen. Ik heb had hier geen "game.rastercolor" meer liggen :D
Jan
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.