Estendere l’IDE di Flash CS3 con Snippets

Snippets Lee Brimelow, Platform Evangelist in Adobe, si occupa di sviluppo in Flash, Flex ed AIR. Dal suo blog (TheFlashBlog) è possibile scaricare una comoda estensione per Flash CS3: Snippets. Questa estensione, scritta utilizzando le API che Flash mette a disposizione per interagire con la sua IDE (JSFL API), permette di aggiungere un comodo pannello (sulla falsa riga di quello presente già in Adobe Dreamweaver) dove è possibile inserire delle piccole porzioni di codice che usiamo più spesso.

Una volta installato è già possibile usufrire di alcuni snippets forniti dall’autore. Cliccando sull’icona image è possibile modificare il file XML che contiene gli snippets (gli spezzoni di codice). Una volta fatta la modifica è sufficiente salvare il file e cliccare sull’icona Aggiorna gli snippet  per aggiornare la lista. Sul sito dell’autore sono stati rilasciati proprio in questi giorni ulteriori snippets da aggiungere a quelli già presenti. Ecco la versione completa del file XML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
< ?xml version="1.0" encoding="utf-8"?>
<snippets>

  <snippet label="Papervision3D Imports" ascript="import org.papervision3d.cameras.*;\nimport org.papervision3d.objects.*;\nimport org.papervision3d.materials.*;\nimport org.papervision3d.scenes.*;" />
  <snippet label="Papervision3D Scene3D Setup" ascript="import org.papervision3d.cameras.*;\nimport org.papervision3d.objects.*;\nimport org.papervision3d.materials.*;\nimport org.papervision3d.scenes.*;\n\nvar container:Sprite = new Sprite();\naddChild(container);\ncontainer.x = stage.stageWidth * 0.5;\ncontainer.y = stage.stageHeight * 0.5;\n\nvar scene:Scene3D = new Scene3D(container);\nvar camera:Camera3D = new Camera3D();\ncamera.zoom = 11;\n\naddEventListener(Event.ENTER_FRAME, loop);\n\nfunction loop(e:Event):void\n{\n\tscene.renderCamera(camera);\n}" />
  <snippet label="Tweener Random Loop" ascript="import caurina.transitions.*;\n\nfunction loop():void\n{\n\tTweener.addTween([REPLACE], {onComplete:loop});\n}\n\nloop();" />
  <snippet label="New AIR Native Window" ascript="var nwio:NativeWindowInitOptions = new NativeWindowInitOptions();\nvar nw:NativeWindow = new NativeWindow(nwio);\nnw.activate();" />
  <snippet label="AIR Accept Drag and Drop" ascript="import flash.desktop.*;\nimport flash.events.*;\n\nstage.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDragEnter);\nstage.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDragDrop);\n\nfunction onDragEnter(e:NativeDragEvent):void\n{\n\tNativeDragManager.acceptDragDrop(stage);\n}\n\nfunction onDragDrop(e:NativeDragEvent):void\n{\n\tvar files:Object = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT);\n\n}" />
  <snippet label="AIR Window Move" ascript="[REPLACE].addEventListener(MouseEvent.MOUSE_DOWN, moveWin);\n\nfunction moveWin(e:MouseEvent):void\n{\n\tstage.nativeWindow.startMove();\n}\n\n" />
  <snippet label="Loading External XML" ascript="var loader:URLLoader = new URLLoader();\nloader.addEventListener(Event.COMPLETE, xmlLoaded);\nloader.load(new URLRequest([REPLACE]));\n\nvar xml:XML;\n\nfunction xmlLoaded(e:Event):void\n{\n\txml = XML(e.target.data);\n}" />
  <snippet label="New Document Class" ascript="package\n{\n\timport flash.display.*;\n\n\tpublic class DocumentClass extends MovieClip\n\t{\n\n\t\tpublic function DocumentClass():void\n\t\t{\n\n\t\t}\n\n\t}\n\n}" />
  <snippet label="Play External Sound" ascript="var s:Sound = new Sound(new URLRequest([REPLACE]));\nvar sc:SoundChannel = s.play();\nvar st:SoundTransform = new SoundTransform(1, 0);\nsc.soundTransform = st;" />
  <snippet label="Custom FLV Playback" ascript="var video:Video = new Video();\naddChild(video);\n\nvar nc:NetConnection = new NetConnection();\nnc.connect(null);\n\nvar ns:NetStream = new NetStream(nc);\nns.client = this;\n\nfunction onMetaData(info:Object):void\n{\n\n}\n\nvideo.attachNetStream(ns);\nns.play([REPLACE]);" />
  <snippet label="Loading External Content" ascript="var loader:Loader = new Loader();\nloader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);\nloader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);\n\nfunction onLoaded(e:Event):void\n{\n\taddChild(loader.content);\n}\n\nfunction onProgress(e:ProgressEvent):void\n{\n\ttrace(((e.bytesLoaded/e.bytesTotal) * 100).toString() + 'percent loaded');\n}\n\nloader.load(new URLRequest([REPLACE]));" />

</snippets>

Oltre a questo strumento, Lee ha anche creato un’estensione che permette di avere una semplice calcolatrice sempre a portata di mano. Meno interessante, forse, ma utile da installare.

Non ci sono commenti per questo Post

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
					<code></code> // blocco generico
					[cc_actionscript][/cc_actionscript] // Actionscript
					[cc_actionscript3][/cc_actionscript3] // Actionscript 3
					[cc_css][/cc_css] // CSS Style Sheet
					[cc_html][/cc_html] // HTML
					[cc_js][/cc_js] // Javascript
					[cc_objc][/cc_objc] // Objective-C
					[cc_php][/cc_objc] // PHP
					[cc_sql][/cc_sql] // SQL


Stop SOPA