SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

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