ConvolutionFilter combines pixel data in a bitmap with data from neighboring pixels. full control at pixel level.
Convolution Kernel (3×3 matrix). je legt de kernal matrix over een pixel heen. dus op de pixel zelf en z'n 8 neighbours (in het geval van 3×3). Kan ook groter. De mexicanHat bijvoorbeeld wat een edge detection met dikke lijnen geeft.
Veel research gedaan al op convolution filters. Er zijn bijv. smooth, high pass filters, egdes, blur, 5 sharp, 9 shart, extrude, embos.
Eigenlijk wel te maken met 'game of life' zo'n convolution filter.
Je kunt BitmapData niet meteen opnemen in de displaylist. Je stopt de BitmapData in een Bitmap object en dan doe je addChild.
other interesting methods: applyFilter, colorTransform compare, threshold
DispacementMapFilter. Nodig: source bitmap + dispacement map. Op basis van de kleur binnen de displace map worden de pixels uit de source verschoven over x of y.
DisplacementMapFilterMode.WRAP om te repeaten.
Binnen de pixels van een displacemaps wordt gekeken naar 2 kleurenkanalen. Bijv. rood en groen. De roodwaarde wordt bijv. gebruikt voor X en de groen voor Y. bijv. roodwaarde 0 betekent 128 naar links de kleurwaarde ophalen? Bij roodwaarde 128 gebruikt verandert er niks. 255 gaat de pixel 128 pixels naar rechts.
Het werkt heel fijn om eigenschappen zoals drag/friction, shrink, gravity, fade, spin in te stellen die dan vervolgens worden toegepast op de snelheid etc.
particle.drag voor snelheid
particle.shrink voor scale.
particle.gravity voor snelheid verticaal
particle.fade voor alpha
particle.spin voor rotatie
bij iedere particle.update() worden die waarden toegepast bijv. snelheid van de huidige waarde. Dus niet op de positie maar op de snelheid.
BlurFilter op container plaatsen. Niet op de afzonderlijke particles. Zie voorbeeld Particles62.fla. this.filters = [new BlurFilter(8,8,1)]; Wel in een macht van 2 voor drastische performance verbetering.
Recyclen van Particles is heel veel sneller dan nieuwe genereren.
Slim: Hij gebruikt atan2 om een vonkjesparticle te draaien in de richting waarin ie
clip.rotation = Math.atan2(yVel,xVel)*RadToDeg
bmData.draw(this); om de huidige stand van de movieclip in een bitmap te stoppen
canDropLabels property op een HorizontalAxisRenderer zorgt dat als het de labels rond de assen niet passen dat ie d'r een paar weglaat. bijv: Januari … Juni … December
charting backgroundElements
public class PieChartBackdrop extends ChartElement implements IChartElement2
mx:HTML om een htmlpagina met bijv. Google Maps
Je kunt zo super simpel door de DOMTree heen lopen via het mx:HTML object: _dom = htmlView.htmlLoader.window; _dom.setPosition waarbij setPosition een gewone javascript functie is.
Scheduling component binnen FlexLib!
Ik was even vergeten hoe fijn de native drag en drop functies binnen Air ook al weer zijn. Zowel files maar ook TEXT_FORMAT zodat je rechtstreeks vanuit je kalender een snippet kunt slepen naar je Air app.
Nicolas: The guy who stands up for PDF in Air
Binnen de mx:HTML kun je dus ook gewoon een PDF laden. Vet.
Vandaag (3 uur geleden) zijn Flex 3 en AIR 1.0 gereleased.
Adobe Air Marketplace Beta is een site met veel AIR apps.
Vanuit het Flex menu een nieuw menuitem: Create Application From Database
Toch ook wel even in modules duiken van flex. Soort loadMovie… Serge liet 4 manieren zien om je Flex app honderden kilobytes kleiner te maken.
import ArtWork kijkt naar folder naar de afbeeldingen en als je die op de juiste manier benoemd hebt zoals Button_upSkin.png dan kan ie op basis daarvan automatisch een CSS maken en je hele app skinnen. Vanuit Photoshop makkelijk slices opslaan for the web.
H264 support, HD video up to 1080px in Fash 9. Fullscreen hw scaling
Astro en Diesel…
Flash Player 10? nog ff niet… z-axis en wat perspectief dingen. Maar geen echte 3D nog. Wel support voor pixelshaders. (Hydra Kit).
Meer over Hydra Kit morgen in FlashNow FlashFuture session hier op het festival.
Hele goeie zichtbare tween/animaties maken. Object based animation model. Minder timeline achter maar meer volgens paths/grafiekjes
free camera extends DisplayObject3D (FreeCamera3D)
DisplayObject3D: lookAt method makes it rotate towards other object. you can have stuff follow other, non visible, stuff to create an illusion of one object knowing where another object is in the scene.
chase cam example: 1. move object forward 2. move cam to same location 3. move camera back a bit (moveBack(350)) 4. move camera up
yaw, pitch and roll: z is kept as depth into the screen yaw rotates around y axis, pitch around x axis, roll around z axis is additive, so to set to a specific value, use rotationX/rotationY/rotationZ
DisplayObject3D extends Sprite: “Think of it as the Sprite of Papervision”
Universe demo (primitiveDemos/PrimitivesDemo.fla): add earth and moon to 'universe' displayobject and rotate universe, it will rotate all its children right along nest universe-like objects to make a solar system
MaterialObject3D is base class for all materials in PV3D MovieMaterial: use MC with timeline animation and map that onto 3D object as a material, uses Sprite/MovieClip(/DisplayObject?) instance as material
materialsDemo/MaterialsDemo.fla: use any object in library with linkage, or any on stage object as material
if you want alpha, use alpha property of the material, not of the DisplayObject3D Using MC material: tell the MC displayobject class about the displayobject and material
Collada: interactive 3d file communication, exports 3d model to xml file, PV3D can parse it
zoom = 11; focus = 100; ⇒ shows up as 1 to 1 pixel representation of what you created in 2D
Misschien eens een treemap van m'n HD maken maar wel anders dan Sequoiaview
Ik heb Directory Opus 9 leren kennen. Een extreem goed alternatief voor de Windows Verkenner / Explorer. Beetje Norton Commander achtig. Heel fijn en snel.
Discussion