Giter Club home page Giter Club logo

crash-course's Introduction

ROKU SCENEGRAPH CRASH COURSE

First Edition
November 2017
Written using firmware version 8.0

Introduction
Lesson 1: Debugging, Sideloading, and Manifest
Lesson 2: Screen, Components, and Resolution
Lesson 3: Extended Components, Observers, Tasks, Network Requests
Lesson 4: Parsing JSON, Data Driven UI
Lesson 5: Back Button, Details Screen with Play Button, Video Screen
Lesson 6: Video Playback, Dialogs
Lesson 7: External Configuration, Interface Functions, Regular Expressions

Read the Introduction for detailed instructions on the files and folders here.

Each completed lesson is represented in this repository. For example, Lesson 2 code is in the lesson_2 directory.

All example thumbnails courtesy of https://unsplash.com/.

.

crash-course's People

Contributors

grasponcrypto avatar jensenhwa avatar learnroku avatar russvolyar avatar tim-beynart-nbcuni avatar timbeynart-nbcuni avatar vimalsharma-nbcuni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crash-course's Issues

miscommunication in Lesson 3

hello, in Lesson 3, item 3 you say
Modify home_scene.xml to route to the new screen components by replacing what is there with the following: function init()
? "[home_scene] init"
m.center_square = m.top.findNode("category_screen")
m.center_square.setFocus(true)
end function
However, that is what should go in the brs file. the contents of the xml file should also change, but you forgot to provide that. Not a big issue, I found it in the xml listing, which has the final revision of that file.

Links between docs

Hey @timbeynart-nbcuni I'm running through your crash course (as I just started working as a Roku Dev) and things are going well. Your documents are well-laid out and descriptive. One bit of feedback I had (and it's really small) was to create links between your different lessons. Having a link to Lesson 3 at the end of Lesson 2 would be super helpful once you complete each one.

Also, is there a way I can tip you or something? I know that was probably not your idea with this tutorial, but I like to give back.

I did create a little something to help automate sideloading using NodeJS. Maybe we can include that in the lesson to ease the burden of making small changes and having to upload each one.

One lesson I did learn in this was you can't just zip up a directory, you have to zip the contents of the directory and them upload it.

Either way, I'm just starting lesson 3 and I'm very grateful this is around.

Missing changes required within main.brs AND emphasis would be nice

  1. There are some necessary changes from lesson 2 to lesson 3 in main.brs which appears to be missing in the lesson. Took a bit to figure out for a newbie:
		msg = wait(0, m.port)
		msgType = type(msg)
		if msgType = "roSGScreenEvent"
			if msg.isScreenClosed() then return
		end if
  1. Emphasis on a minor change which is easy to over look in lesson 3:
    <ContentNode title = "DRAMA"/>
    <category_node title = "HORROR" feed_url="..."/>
    I think an emphasis should be placed on the fact that ContentNode is modified to category_node as this is a minor difference that is not immediately obvious and if users are manually modifying as i did, as opposed to copy and paste, then it can be quite an annoying learning lesson.

Lesson 3 Issue

In Lesson 3, at step 3, when running, I consistently get the error "Interface not a member of BrightScript Component" and breaks on the updated code in home_scene.brs. I'm not positive, but should the code be referencing the center_square or category_list? In your code example this is how it is set, so thinking maybe it should be changed?

	m.center_square = m.top.findNode("category_screen")
	m.center_square.setFocus(true)

I'm new to all this but when I added the following to home_scene.xml, it seemed to run

    <category_screen
      id="category_screen"
      visible="true"
      translation="[0,0]" />

Also, step 3 says to update the home_scene.xml file when it should be the home_scene.brs file :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.