SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
INTERACT! with
      the Flash Platform
SESSION overview
  our DO’S and DONT’S

  interaction with
      Sound
      Camera
      Mobile /Other devices
  Q and hopefully A

  DEMO’s
our DO’S and DONT’S
Wouter Verweirder
Belgian Citizen, Lord of Sealand
                                   @wouter
our DO’S and DONT’S
  I DO:
      Spend a yearly budget of € 200
       to lightsaber apps, noble titles, …
      Teach hardcore AS3 at HOWEST
      Am a Happy Banana
      Cheat on Flash Games

  I DON’T
      Use the lightsaber apps or noble
       titles.
our DO’S and DONT’S




        @newmovieclip
our DO’S and DONT’S
        I DO:
            Lecture
            Write
            Organise
            Like Happy-Banana!


        I DON’T
            Do sports, eat healthy and have a
             girlfriend 
MAKE SOME NOISE !!
INTERACT! with sound
INTERACT! with sound
  flash.media.sound

  More control about input:
     flash.media.Microphone
     flash.media.SoundChannel

  More control about output:
     flash.media.SoundTransform
INTERACT! with sound
  Microphone
     Static getMicrophone() method

    setLoopback() + setUseEchoSurpression()

    Microphone.activityLevel (0-100)

    Capturing Microphone
       SampleDataEvent dispatched
       Write to ByteArray
INTERACT! with sound
  SampleDataEvent
     Contains sample data: event.data
        = ByteArray instance
        readFloat() method avances through
         available bytes 4 at a time.
 soundBytes

   9	
     10	
       11	
     12	
     13	
     14	
     15	
     16	
     17	
     18	
  




                    readFloat()                            next starting point
INTERACT! with sound
  Microphone.rate determines how many samples
   are used every time the SampleDataHandler is
   called.
         rate: 44  44,100 khz  8192 samples
         rate: 22  22,050 kHz  4096 samples
         rate: 11  11,025 kHz  2048 samples
INTERACT! with sound
Capture the samples and save in ByteArray:




Create new Sound instance
INTERACT! with sound
Fill the Sound with the captured soundBytes
DEMO
INTERACT! with Camera
INTERACT! with Camera
  flash.media.Camera

  Camera.getCamera();

  Video.attachCamera(camera)

  Interactions:
      activityLevel + motionLevel  motion
       detected
      Pixel changes
INTERACT! with Camera
  Track pixel changes

      Draw video into BitmapData instance
      Use Difference blendmode
      Set threshold and give pixels color
      Check for color change
INTERACT! with Camera
  flash.media.CameraRoll
    CameraRoll.browseForImage()
    CameraRoll.addBitmapData()
        Check CameraRoll.supportsAddBitmapData
         property

  flash.media.CameraUI
    CameraUI.launch(MediaType.IMAGE);
    CameraUI.launch(MediaType.VIDEO);
        Listen for Event.SELECT, Event.CANCEL
        Event.data = MediaPromise instance
        Use Loader.loadFilePromise() to load media
         promise
INTERACT! with Camera
  flash.media.MediaPromise
      = promise to deliver a media object (image or
       video)
      Access to the actual file: use the File Property
          Eg: promise.file.url,
           promise.file.nativePath,...
DEMO
INTERACT! with Touch
INTERACT! with Touch
  Native MouseEvents also supported.

  flash.ui.Multitouch
      TouchEvent
      GestureEvent

  Plan:
     Step 1: Set the inputMode
     Step 2: Check if MultiTouch is supported
     Step 3: Add listeners for user interaction
     Step 4: Write handler methods to react on UI
INTERACT! with Touch
  TouchEvent
      COOL: pressure property: between 0 and 1
      TOUCH_BEGIN, TOUCH_END,
       TOUCH_TAP,...

  GestureEvent / TransformGestureEvent
     More complex user contact
     GESTURE_TWO_FINGER_TAP
     ROTATE, SWIPE, ZOOM,...
INTERACT! with Touch
  Multitouch.supportsTouchEvents

  Multitouch.maxTouchPoints

  TouchEvent has property touchPointID

  Dragging : startTouchDrag, stopTouchDrag
DEMO
INTERACT! with Devices
INTERACT! with Devices
  Use devices capabilities als input
     Adobe AIR for Android
     Adobe AIR for IOS

  flash.sensors.Accelerometer
      Using the motion sensor of Device
INTERACT! with Devices
  AccelerometerEvent contains data
     AccelerationEvent.accelerationX
     AccelerationEvent.accelerationY
     AccelerationEvent.accelerationZ

  Send the data to a Server
     UDP would be nice…
     Flash.net.Socket (TCP/IP)
     Create Socket Server with Adobe AIR 
INTERACT! with Devices
  CLIENT applications: Socket class




  CLIENT sents commands to the SocketServer
INTERACT! with Devices
  ServerSocket: listen for connections on port




  When client is connected: SOCKET_DATA
INTERACT! with Devices
  Handle the incoming data
DEMO
INTERACT! with Kinect
  I can see, in 3D!




  Kinect data to flash: Sockets 
INTERACT! with Kinect
  AS3Kinect – Camera Images
     http://www.as3kinect.org/

  TUIOKinect – Blob cursor tracking
      https://code.google.com/p/tuiokinect/
      http://bubblebird.at/tuioflash/tuio-as3-library/
      http://silviopaganini.posterous.com/
       openkinect-flash-tuio-udp-flash-bridge

  OSCeleton – Skeleton Detection
     https://github.com/Sensebloom/OSCeleton
INTERACT! with Kinect
  as3osceleton
      Open-sourced today
      Runs on top of OSCeleton & TUIOKinect
      Translates joints into cursors using
       TUIOKinect bridge

  initial setup
INTERACT! with Kinect
  Event Driven:
     UserEvent.USER_JOINED
     UserEvent.USER_LEFT
     UserEvent.SKELETON_CREATED
     JointChangedEvent.JOINT_CHANGED




  Translation of hands to multitouch cursors
LETS PLAY SOME MUSIC !
Questions and hopefully
Answers
THANKS !!
Presenta3on	
  /	
  


THANKS !!
      Source	
  Code	
  demos:	
  

             http://
        factory.happy-
          banana.be/
           FITC2011

Contenu connexe

Similaire à interACT With The Flash Platform

Human Interaction Library
Human Interaction LibraryHuman Interaction Library
Human Interaction Librarygraphitech
 
The Physical World meets the Web
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the WebMaximiliano Firtman
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devicespaultrani
 
Android Open Accessory APIs
Android Open Accessory APIsAndroid Open Accessory APIs
Android Open Accessory APIsPearl Chen
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet ScenariosRicardo Fiel
 
Flash and Hardware
Flash and HardwareFlash and Hardware
Flash and HardwareKevin Hoyt
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Codemotion
 
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerRat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerSven Kräuter
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyMike Hagedorn
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhoneErin Dees
 
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...Amazon Web Services
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
Contiki Operating system tutorial
Contiki Operating system tutorialContiki Operating system tutorial
Contiki Operating system tutorialSalah Amean
 
Creative spaces design_final
Creative spaces design_finalCreative spaces design_final
Creative spaces design_finalSiirus
 

Similaire à interACT With The Flash Platform (20)

Human Interaction Library
Human Interaction LibraryHuman Interaction Library
Human Interaction Library
 
The Physical World meets the Web
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the Web
 
Otto AI
Otto AIOtto AI
Otto AI
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
Android Open Accessory APIs
Android Open Accessory APIsAndroid Open Accessory APIs
Android Open Accessory APIs
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet Scenarios
 
Flash and Hardware
Flash and HardwareFlash and Hardware
Flash and Hardware
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
 
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerRat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using Ruby
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
 
IsoUnity: A retro-isometric toolkit for Unity
IsoUnity: A retro-isometric toolkit for UnityIsoUnity: A retro-isometric toolkit for Unity
IsoUnity: A retro-isometric toolkit for Unity
 
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
 
MoMo Oct Event
MoMo Oct EventMoMo Oct Event
MoMo Oct Event
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Contiki Operating system tutorial
Contiki Operating system tutorialContiki Operating system tutorial
Contiki Operating system tutorial
 
Creative spaces design_final
Creative spaces design_finalCreative spaces design_final
Creative spaces design_final
 
Pebble wearables devcon
Pebble wearables devconPebble wearables devcon
Pebble wearables devcon
 

Dernier

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

interACT With The Flash Platform

  • 1. INTERACT! with the Flash Platform
  • 2. SESSION overview   our DO’S and DONT’S   interaction with   Sound   Camera   Mobile /Other devices   Q and hopefully A   DEMO’s
  • 3. our DO’S and DONT’S Wouter Verweirder Belgian Citizen, Lord of Sealand @wouter
  • 4. our DO’S and DONT’S   I DO:   Spend a yearly budget of € 200 to lightsaber apps, noble titles, …   Teach hardcore AS3 at HOWEST   Am a Happy Banana   Cheat on Flash Games   I DON’T   Use the lightsaber apps or noble titles.
  • 5. our DO’S and DONT’S @newmovieclip
  • 6. our DO’S and DONT’S   I DO:   Lecture   Write   Organise   Like Happy-Banana!   I DON’T   Do sports, eat healthy and have a girlfriend 
  • 9. INTERACT! with sound   flash.media.sound   More control about input:   flash.media.Microphone   flash.media.SoundChannel   More control about output:   flash.media.SoundTransform
  • 10. INTERACT! with sound   Microphone   Static getMicrophone() method   setLoopback() + setUseEchoSurpression()   Microphone.activityLevel (0-100)   Capturing Microphone   SampleDataEvent dispatched   Write to ByteArray
  • 11. INTERACT! with sound   SampleDataEvent   Contains sample data: event.data   = ByteArray instance   readFloat() method avances through available bytes 4 at a time. soundBytes 9   10   11   12   13   14   15   16   17   18   readFloat() next starting point
  • 12. INTERACT! with sound   Microphone.rate determines how many samples are used every time the SampleDataHandler is called.   rate: 44  44,100 khz  8192 samples   rate: 22  22,050 kHz  4096 samples   rate: 11  11,025 kHz  2048 samples
  • 13. INTERACT! with sound Capture the samples and save in ByteArray: Create new Sound instance
  • 14. INTERACT! with sound Fill the Sound with the captured soundBytes
  • 15. DEMO
  • 17. INTERACT! with Camera   flash.media.Camera   Camera.getCamera();   Video.attachCamera(camera)   Interactions:   activityLevel + motionLevel  motion detected   Pixel changes
  • 18. INTERACT! with Camera   Track pixel changes   Draw video into BitmapData instance   Use Difference blendmode   Set threshold and give pixels color   Check for color change
  • 19. INTERACT! with Camera   flash.media.CameraRoll   CameraRoll.browseForImage()   CameraRoll.addBitmapData()   Check CameraRoll.supportsAddBitmapData property   flash.media.CameraUI   CameraUI.launch(MediaType.IMAGE);   CameraUI.launch(MediaType.VIDEO);   Listen for Event.SELECT, Event.CANCEL   Event.data = MediaPromise instance   Use Loader.loadFilePromise() to load media promise
  • 20. INTERACT! with Camera   flash.media.MediaPromise   = promise to deliver a media object (image or video)   Access to the actual file: use the File Property   Eg: promise.file.url, promise.file.nativePath,...
  • 21. DEMO
  • 23. INTERACT! with Touch   Native MouseEvents also supported.   flash.ui.Multitouch   TouchEvent   GestureEvent   Plan:   Step 1: Set the inputMode   Step 2: Check if MultiTouch is supported   Step 3: Add listeners for user interaction   Step 4: Write handler methods to react on UI
  • 24. INTERACT! with Touch   TouchEvent   COOL: pressure property: between 0 and 1   TOUCH_BEGIN, TOUCH_END, TOUCH_TAP,...   GestureEvent / TransformGestureEvent   More complex user contact   GESTURE_TWO_FINGER_TAP   ROTATE, SWIPE, ZOOM,...
  • 25. INTERACT! with Touch   Multitouch.supportsTouchEvents   Multitouch.maxTouchPoints   TouchEvent has property touchPointID   Dragging : startTouchDrag, stopTouchDrag
  • 26. DEMO
  • 28. INTERACT! with Devices   Use devices capabilities als input   Adobe AIR for Android   Adobe AIR for IOS   flash.sensors.Accelerometer   Using the motion sensor of Device
  • 29. INTERACT! with Devices   AccelerometerEvent contains data   AccelerationEvent.accelerationX   AccelerationEvent.accelerationY   AccelerationEvent.accelerationZ   Send the data to a Server   UDP would be nice…   Flash.net.Socket (TCP/IP)   Create Socket Server with Adobe AIR 
  • 30. INTERACT! with Devices   CLIENT applications: Socket class   CLIENT sents commands to the SocketServer
  • 31. INTERACT! with Devices   ServerSocket: listen for connections on port   When client is connected: SOCKET_DATA
  • 32. INTERACT! with Devices   Handle the incoming data
  • 33. DEMO
  • 34. INTERACT! with Kinect   I can see, in 3D!   Kinect data to flash: Sockets 
  • 35. INTERACT! with Kinect   AS3Kinect – Camera Images   http://www.as3kinect.org/   TUIOKinect – Blob cursor tracking   https://code.google.com/p/tuiokinect/   http://bubblebird.at/tuioflash/tuio-as3-library/   http://silviopaganini.posterous.com/ openkinect-flash-tuio-udp-flash-bridge   OSCeleton – Skeleton Detection   https://github.com/Sensebloom/OSCeleton
  • 36. INTERACT! with Kinect   as3osceleton   Open-sourced today   Runs on top of OSCeleton & TUIOKinect   Translates joints into cursors using TUIOKinect bridge   initial setup
  • 37. INTERACT! with Kinect   Event Driven:   UserEvent.USER_JOINED   UserEvent.USER_LEFT   UserEvent.SKELETON_CREATED   JointChangedEvent.JOINT_CHANGED   Translation of hands to multitouch cursors
  • 38. LETS PLAY SOME MUSIC !
  • 41. Presenta3on  /   THANKS !! Source  Code  demos:   http:// factory.happy- banana.be/ FITC2011