kwik Tutorial

TV & Desktop

Sample Project to download

http://kwiksher.com/gitbook/ch02/TVTest.zip

Get Started

  • Choose "TV Desktop" as Device for creating a new project

  • Before adding inputDevice feature, make sure everything works fine with tap or touch event with mouse on corona simulator.
    • iOS/Android -- touch
    • TV -- controller
    • Desktop -- mouse + keyboard
  • then add external code for button navigation
    kInputDevices:initGroup()
    kInputDevices:setButton(layer.btn1)
    kInputDevices:setButton(layer.btn2)
    kInputDevices:setButton(layer.Settings)
    kInputDevices:setButton(layer.NaviBtn)
    

Setting and Setup page

it is better for setting page to show the list of connected controller and the setup page to show the key assignment of controller. The key assignment can be editable. Sample lua files for table UI are available

  • Name:controllersTable assets/extLib/controllersTableUI.lua

  • Name:keyAssignTable assets/extLib/keyAssignTableUI.lua

Icons and Device build

android(FireTV)

  • assets/tvAsset/Default-Landscape-assets/Default-Landscape.png
  • assets/tvAsset/tvosLaunch-assets/Banner-xhdpi.png

tvos(appleTV)

  • assets/tvAsset/tvosLaunch-assets/Icon-tvOS-Launch.png
  • assets/tvAsset/tvosLaunch-assets/Icon-tvOS-TopShelf.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Large-Background.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Large-LogoA.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Large-LogoB.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Large-LogoC.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Large-LogoD.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Small-Background.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Small-LogoA.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Small-LogoB.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Small-LogoC.png
  • assets/tvAsset/tvosPallax-assets/Icon-tvOS-Small-LogoD.png

Windows

  • assets/DeskTopIcon/Icon-win32.ico

OSX

  • assets/DeskTopIcon/Icon-osx.icns

these .ico and .icns files are created with the following commands in Termnal app. Plese make icon_xx.png files and install image magic to Window PC

  • mac_icon.command

    rm -r icon.iconset
    cp -r desktop_icon-assets icon.iconset
    cd icon.iconset
    rm icon_48x48.png
    cp icon_32x32.png icon_16x16@2x.png
    mv icon_64x64.png icon_32x32@2x.png
    cp icon_256x256.png icon_128x128@2x.png
    cp icon_512x512.png icon_256x256@2x.png
    mv icon_1024x1024.png icon_512x512@2x.png
    cd ..
    iconutil --convert icns --output Icon-osx.icns icon.iconset
    
  • win_icon.bat

    set MYDIR=desktop_icon-assets
    set ICON_FILE=Icon-win32.ico
    convert ./%MYDIR%/icon_16x16.png ./%MYDIR%/icon_32x32.png ./%MYDIR%/icon_48x48.png %ICON_FILE%
    

Image Magick http://www.imagemagick.org/

Parallax Previewer App https://developer.apple.com/library/tvos/documentation/General/Conceptual/AppleTV_PG/CreatingParallaxArtwork.html#//apple_ref/doc/uid/TP40015241-CH19-SW1

Corona SDK does not need .lsr file to buld TVOS app. it needs those Logo.png

PSD files - Image assets from layers https://helpx.adobe.com/photoshop/using/generate-assets-layers.html

Install app

you need a real device to test app. Corona SDK does not support XCode simulator for apple TV yet.

  • appleTV (4th generation) connected USB-Type C cable with your Mac
  • corona SDK > build > tvos and select option install to apple device after build
  • fireTV online with same WiFi network of your PC or Mac
  • Settings > Developloper Option, enable adb debug and app from unknow source
  • Settings > About > Network and check IP address
  • When .apk is bult with Corona SDK and is saved to the folder on your PC, use adb command on Terminal of PC or Mac.
  • adb connect ip_address_of_fireTV:5555
  • adb install -r your_app.apk

  • OSX app needs to be built with Corona SDK on Mac

  • Windows app needs to be build with Corona SDK on Windows

FireTV

Limitations

  • drag&drop
  • 4 way navigation
  • multi controllers
  • Desktop
    • Mouse Right Click
    • Mouse Scroll Wheel events
    • copy/paste

Video

you can use native.newVideo() for appTV, fireTV and OSX but not Windows. Windows can not play video. Possibly open another app like browser by URL scheme.

fireTV supports the features as same as android features of Corona SDK

video with webview

video with native.newVideo()

  • tvos ok
  • OSX ok
  • Windows not supported, not supprt media.playVideo() either