Interactive Coding 2
APPL58263 - 6 UNITS - DAN
General Links
- Assignment 1 - CUSTOM - [20%] (Due week 5) HTML
- Assignment 2 - 3D with TEXTUREACTIVE - [20%] (Due week 8) HTML
- Assignment 3 - PHYSICS with SHADER - [20%] (Due week 8) HTML
- Assignment 4 - MOBILE - [40%] (Due week 14) HTML
- Interactive Coding Term 1 - HTML
Lesson Links
Lessons
Module 1 - Custom Code (Weeks 1, 2)
Lesson 1 - Frameworks
-
DOCUMENTS
- Lesson Plan - Word doc
- JavaScript APIs - PPT Doc
- JavaScript Frameworks - PPT Doc
- When to Use a JavaScript Canvas Library or Framework - Medium
- Selecting a JavaScript Canvas Library or Framework - Medium
- Drag Rotating Logo - PixiJS - HTML
- Drag Rotating Logo - Phaser - HTML
- Drag Rotating Logo - P5js - HTML
- Drag Rotating Logo - ZIM - HTML
- PixiJS Site - HTML
- Phaser Site - HTML
- P5js Site - HTML
- ZIM Site - HTML
- Site - Website
- Updates - Website
- Docs - Website
- GitHub - Website
- Cloudflare - CDN
- Editor - App
- Forum - App
- Discord - App
- Twitter - Social Media
- Instagram - Social Media
- YouTube - Social Media
- Latest Videos - Scan at the latest vids
REFERENCE
FRAMEWORK EXAMPLES - ctrl/command U to see code
FRAMEWORK SITES
MANAGING A FRAMEWORK
HOMEWORK
Lesson 2, 3 - Libraries, Modules and Classes
-
DOCUMENTS
- Lesson Plan - Word doc
- Patterns and OOP Theory - INFO PAGE
- Libraries - PPT doc
- Modules - PPT doc
- ZIM Custom Library - Offsite
- ZIM Custom Library - ZIP
- ZIM Custom Modules - YouTube
- OOP Code - CODE PAGE
- OOP - Class Example - offsite
- ZIM Custom Classes - YouTube
- ES6 - JavaScript 6 Starter - PPT doc
- ES6 - Code Example - offsite
- ES6 - ZIM Explore - YouTube
- Abstraction - PPT
- ZIM MVC - Offsite
- Patterns and OOP Theory - Read
- Abstraction - Read and do PRACTICE 1, 2, 3
MODULES
CLASSES
REFERENCE
HOMEWORK
Lessons 4 - LAB - Assignment Help
- Overflow time and time to work on assignment
Module 2 - 3D (Weeks 3, 4, 5)
Lessons 5, 6, 7 - 3D
-
DOCUMENTS
- Lesson Plan - Word doc
- 3D Basics Diagram - PPT doc
- Explore Video - three.js Basics
- Template - html (M - fullscreen)
- Skybox - html
- Room - html
- Plane - html
- Group - html
- Raycasting - html
- Animate - html
- Model - html
- 3D Files - ZIP
- ThreeJS - Offsite
- ThreeJS Docs - Offsite
- ThreeJS Examples - Offsite
- ThreeJS More Examples - Offsite
- ZIM THREE LIBRARY - for three.js
- ZIM Explore! 80. three.js and ZIM Together
- ZIM with ThreeJS - ZIM Bit - Offsite (Drag)
- ZIM Phone - ZIM Capture Example Live - Offsite (Swipe)
- Planet Model - Offsite (Codepen)
- Phone Gallery - Offsite (Codepen)
THREEJS FILES
THREE JS REFERENCE
THREE JS IN ZIM
Lessons 8 - 2D Interaction in 3D
-
DOCUMENTS
- Lesson Plan - Word doc
- ZIM 015 - TextureActive - Offsite
- TextureActive Resource - three.js Forum
- Interactive Puzzle Showcase
- Interactive Organ Showcase
- TextureActive Resource - three.js Discord
- Interactive Panel Showcase
- Interactive Synth Showcase
- Interactive Puzzle Showcase
- TextureActives for Interactive 2D in 3D - YouTube
- Bubbling Video - TextureActives 1 - Bubbling YouTube
- Bubbling Video - TextureActives 2
- Bubbling Video - TextureActives 3
- Explore Video - TextureActives 1 - Bubbling Explore
- Explore Video - TextureActives 2
- Explore Video - TextureActives 3
- Explore Video - TextureActives 4
- TextureActive VR Resource - three.js Forum
- MultiPixel VR Showcase
- TextureActive VR Resource - three.js Discord
- MultiPixel VR Showcase
- ZIM in VR - YouTube
- ZIM Explore! 81. Multiuser ZIM in VR for Multi-Pixel App - YouTube
EXAMPLES
3D RESOURCES
VIDEO RESOURCES
VR RESOURCES
Lesson 9 - 3D Lab
- Overflow and time to work on assignment
Module 3 - Physics (Weeks 5, 6, 7)
Lessons 10 - Shaders
-
DOCUMENTS
- Lesson Plan - Word doc
- Shaders - ZIM
- Equipotential - ZIM
- Spiral - ZIM
- Spiral 2 - ZIM
- Spiral 3 - ZIM
- Blob - ZIM
- Blob 2 - ZIM
- Underlay - ZIM
- Gradient - ZIM
- Gradient 2 - ZIM
- Uniforms - ZIM
- Circle - ZIM
- Checker Board - ZIM
- Basic Shaders in ZIM - YouTube
- ShaderToy Shaders in ZIM - YouTube
- ShaderToy - Offsite
- Learn OpenGL - Offsite
- DOCS.GL - Offsite - press VERSION at right
- Shaders in three.js - Offsite
- ZIM Docs - Shader - ZIM
- ZIM Docs - Uniforms - ZIM
EXAMPLES
VIDEOS
REFERENCES
Lesson 11, 12, 13 - Physics
-
DOCUMENTS
- Lesson Plan - Word doc
- Physics Basics Diagram - PPT doc
- Box2D Example - html
- ZIM with Box2D - PHYSICS - ZIM TEN Example
- ZIM with Box2D - GOAL - ZIM TEN Example
- ZIM with Box2D - BEADS - ZIM TEN Example
- ZIM with Box2D - KEEP UP - ZIM TEN Example
- ZIM with Box2D - DRIVE - ZIM TEN Example
- Cat Food - Physics Blobs - ZIM 014 Example
- Fermenti - Physics Blobs - ZIM 014 Example
- Concave Physics - ZIM 017 Example
- ZIM with Box2D - ZIM Bits
- Soup with Box2D - ZIM Bits
- Bugs - three levels - ZIM Kids
- ZIM Docs - Physics() - Offsite
- ZIM Docs - addPhysics() - Offsite
- Physics with ZIM TEN - ZIM Bubbling - YouTube
- Falling Apple - CodePen (simple)
- Alone Droid 2 - Offsite (complex)
- Alone Droid - offsite (complex)
- Pinball Sparks - CodePen
- Noodles Hair - CodePen
- Anti-grav - CodePen
- Polygon Pen - CodePen
- Data Vis - CodePen
- Maze - CodePen
- SideScroller - Offsite
- Follow - Code in Five Minutes
- Shoot - Code in Five Minutes
- Angry Birds A - Code in Five Minutes
- Angry Birds B - Code in Five Minutes
- Angry Birds C - Code in Five Minutes
- Angry Birds D - Code in Five Minutes
- Box2D - Offsite
- Box2D - Original
- Box2D Docs - Original
- New Box2D - Want to Check it out!
- Present - ZIM Badges Tutorial
- Present - Example
- Follow - Moving World - Offsite
- Physics with ZIM - ZIM Capture - YouTube
- PhysiJS - (for ThreeJS) Offsite
- PhysicsJS - Offsite
- Phaser and Box2D - Offsite
RAW Boxb2D
EXAMPLES - Box2D in ZIM
REFERENCE - Box2D in ZIM
MORE EXAMPLES - Box2D in ZIM
CODE IN FIVE (See https://zimjs.com/five/ for files)
BOX 2D REFERENCE
EXAMPLES - Box2D in older ZIM
OTHER LIBRARIES
Lessons 14 - Physics LAB
- Overflow and time to work on assignment
Module 4 - Mobile (Weeks 8, 9, 10)
Lessons 15, 16, 17 - Scaling, Layout and Pages
-
DOCUMENTS
- Lesson Plan - Word doc
- Adaptive, Flexive and Responsive Design for Mobile - INFO PAGE
- Responsive Canvas 1 - Positioning - HTML
- Responsive Canvas 2 - Scaling - HTML
- Responsive Canvas 3 - Layout - HTML
- Responsive Canvas 4 - Tile - HTML
- Responsive Canvas 5 - Wrapping - HTML
- Responsive Canvas 6 - Adaptive - HTML
- Responsive Canvas 6 - Adaptive (old) - HTML
- Pages with Swiping and Hotspots - HTML
- Layout and Pages example - HTML
- ZIM Bits on Fit - HTML
- ZIM Bits on Pages - HTML
- ZIM Bits on Layout - HTML
- Psychic Pixels - FIT - Offsite
- Psychic Pixels - FULL - Offsite
- Psychic Pixels on GitHub - See Commits - Offsite
- Grids and Guides - YouTube
- Layout - YouTube
- Pages - YouTube
- HotSpots - YouTube
- Mobile Optimization - YouTube
- Optimizing for Mobile - Offsite
EXAMPLES
OLDER CODE EXAMPLES
ZIM CAPTURES
REFERENCE
Lesson 18 - Mobile Publishing
-
DOCUMENTS
- Lesson Plan - Word doc
- ZIM Mobile with PWA - Offsite
- Progressive Web Apps (PWA) - web.dev
- Lighthouse - Google Developers
- Trusted Web Activity - Google Developers
- PWA on iOS - Love2Dev
- Testing PWA on iOS - Super PWA
- Capacitor - Web App to Native App (PhoneGap replacement)
- Zapp Store - offsite (free)
- Odd Robots - offsite (free)
- Dazzle Finger - offsite (free)
- Plazma Points - offsite
- Leader Board - offsite (free)
- Groovity - PWA
- Touchy - Mobile App made with ZIM - not PWA
- ZIM Zapps - Mobile Tool - Offsite
- ZIM Bubbling 189. ZIM Store with PWA Mobile Apps.
- ZIM Explore! 74. Making a Mobile PWA
- ZIM Bubbling: 151. Progressive Web Apps (PWA)
- iOS Publishing - PPT Doc
- Publishing Steps - Text doc
- Google Android Developer - Offsite
- Apple iOS Developer - Offsite
PWA
EXAMPLES
TOOLS
VIDEOS
OLD LINKS
Lesson 19 - Multiuser
-
DOCUMENTS
- Lesson Plan - Word doc
- Multiuser Theory - PPT doc
- ZIM Patternoids - Offsite
- ZIM Socket - Offsite
- ZIM Avatar - Offsite
- Egg - Collective Coloring - Offsite
- Multiuser Gallery - Offsite
- Turns - two sockets - Offsite
- ZIM Remote - Offsite
- ZIM Control - Offsite
- Patternoids - ZIM Explore
- Grava 1 - complex - ZIM Explore
- Grava 2 - complex - ZIM Explore
EXAMPLES
REFERENCES
Lessons 20 - Model, View, Controller
- Model View Controller Code - ZIM
- Model View Controller - YouTube
- Model View Controller - What IZ? - YouTube
- Touchy App Example - Offsite
- Ornamate Example - Offsite
Lessons 21 - NPM - ZIM with React, Angular, VUE, Svelte
- ZIM on NPM - NPM Site
- ZIM Templates for React, Angular, VUE, Svelte - GitHub
- ZIM Physics NPM - NPM Site
- ZIM Game NPM - NPM Site
- ZIM Three NPM - NPM Site
- ZIM Cam NPM - NPM Site
- ZIM Pizzazz NPM - NPM Site
- ZIM Socket NPM - NPM Site
- ZIM Bubbling 197 #NPM, #Vue, #React, #Angular, #Svelte - YouTube
- ZIM Explore! 86. NPM - Canvas, Vue, Svelte, React and Angular - YouTube
- ZIM Explore! 87. NPM - 3D, Physics and more in Svelte - YouTube
- ZIM Explore! 88. Sockets in NodeJS NPM - YouTube
- ZIM Bubbling 213. Data from Canvas to NodeJS! - YouTube
REFERENCES
Module 5 - Portfolio (Weeks 11, 12, 13, 14)
Lessons 21, 22 - Industry Ready
- Technology Review - Word doc
- Canvas Libraries Exploration - text file
- Why Canvas? - PowerPoint doc
- Why Canvas? - YouTube ZIM Capture
- Site - General Canvas Framework Site
- ZIM Bubbling - Latest Updates on Screen Capture Video
- ZIM Capture - Video Captures of Interactive Media Techniques
- ZIM Bits - 64 Interactive Examples
- Learn - Site of Tutorials, Workshops and Lessons
- Facebook - CreateJS Facebook Group - get involved
- ZIM Meme - Example Image and Text Editing
- Dynamo - Example of Dynamic Sprites and Scrollers
- Parallax - Example of Parallax with Mouse and Scrolling
- ZIM Socket - Multiuser Library with SocketIO
- Control - Example of Motion Control with Mouse, Keys, GamePads
- Pages - Example of Responsive Layout and Pages
- Adding a URL
Add quick and easy links to other pages - Parameters or Objects
Pass in parameters or a single configuration object - Quick Log to Console
ZIM provides zog() shortcut for console.log() - Cookies and CSS Selectors
Some HTML love with ZIM Cookies and CSS Selectors - Input and Asyncronous Data
Collect user text input and send to and receive from server - Animate Circles and Spirals
Easy ways to make animated circles and cool spirals - Damping and Easing
Make motion smooth and natural with an easy Damping class - Drawing with Blitting
Draw smooth artistic lines with damping and blitting - Dynamic Drawing with Easing
Drag to magically change shapes - Falling, Catching and Dodging
See how to make the start of thousands of games - Draw and Animate Lines
Animate straight and curved lines using scale, masks and Bezier - Mobile Test
Is the app mobile or not and check for Android, iOS, Winphone or other - Path Finding Level Editor
Find shortest route through a maze or tiles with cost - Random from Array
Get a random element from an array and loop through array in random order - Skew for Effect
Stretch and make objects look a little wonky - Saving Data and JSON
Save states for games and personalization without database - ZIM loop()
Loop with index, through an array, object or container - Animate Properties
Use ZIM move() and animate() to tween position, scale, alpha, rotation, etc. - Registration Points and Centering
Try different registration points and center objects in containers - Chaining Methods
Efficient cool-looking code - Drag and Drag Copy
Drag and drop objects within bounds and multiple times - Scaling Content to Fit
Fit inside or around bounds with this handy function - Are Objects Hitting?
Multiple types of hitTests on point, reg, bounds, rect and circle - Masks and Masking
Show objects in a frame or make spotlight effect - Make a Maze with ZIM
Move pawn with mouse and collision detect walls - GUI Editor - Place
Move your objects and record their position for final placement - Sequencing Animation
Animate multiple objects to make marquees, etc. - Drag, Slide and Surround!
Slide and object and snap it inside or outside bounds - Snapping Multiple Objects
Drag and drop objects that snap into position or return to start - Ticker Engine
Fail-safe timer engine with latest tech - Drawing ZIM Shapes
Draw a circle, rectangle and triangle and center them on the stage - Blend Modes
Apply professional blends with HTML composite operations - Buttons, Radio Buttons, Check Boxes
Use easy components for the Canvas - Color Picker for Propeller
A custom color picker to set colors on a paused propeller - Dials and Indicators
Configurable dial components and infamous Indicators - Sprites and SpriteSheets
Explosive animations using game animation techniques - Gradient and Gloss
Add gradients or gloss to your buttons and tabs - Icon and Toggle Buttons
Use ZIM Pizzazz 2 for some classic button icons with a twist - ZIM 4TH Methods
All ZIM functionality as easy methods - Parallax 3D
Parallax moving with mouse movement or page scroll for layered 3D effect - Scroll Parallax Effect
Animate a scene with window scroll - ZIM Pizzazz
Module of shapes for Buttons and Panes - Make a Pop Up Window
Make and close a pop up window - draggable or not - Scrollbars with Sliders
Make a scrollbar using the Slider component and inside parameter - Scrubbing an Animation
Use a slider to play an animation - like a Video play head... - Tabs and Button Rows
Easily make tabs or rows of buttons with this canvas component - Tiles and Pads
Make game boards, tiled thumbnails, Pads, etc. - Swipeable Scroll Window
Scroll through text, menus and interactive content with this ZIM Component - Grids GUI for Canvas
See pixels or percent grid positions to avoid guesswork - HotSpots
Clickable regions like image maps - all your nav in one spot - Pages and Hotspots
Handle all page navigation in one spot - Responsive Design
Use ZIM Layout to respond to screen size - Side Scroller Animated Background
Classic Flinstones animated car with repeat scrolling - Swipes and Swiping
Swipe the screen up and down, left and right and capture event direction - Custom Fonts
Load custom fonts through CSS into ZIM - Inline Canvas
Put a ZIM Frame canvas inline into HTML and style with CSS - Minify Only Code You Use
Reduce file size to practically nothing - Physics with Box2D
Move shapes in a world with gravity and collision - Buoyancy with Physics
Add falling ingredients to a bowl of soup - Preload Images and Sounds
Preload images to show on canvas and play a sound with CreateJS - Sound Manipulation
Change volume, panning, pause and play - 3D with ThreeJS
Control 3D objects with ZIM interfaces - embed 3D in ZIM - Using Two Canvases
Set up two or more canvases with ZIM Frame - Play and Control Video
Play video as a Bitmap and use controllers - CANVAS
Create on the HTML Canvas - learn the basics of Interactive Media - CODING
Learn the basics of coding with JavaScript and the Canvas - GAME
Make a game to stop circles from hitting one another as they grow - ASTEROIDS
Shoot and explode asteroids from a flying pod - PHYSICS
Create a magical data visualization - MEME
Create an editing tool to make memes with graphics and text
ZIM REVIEW:
WHAT IZ? (BASIC)
code | javascript | zim | interactivemedia | syntax | operator | expression | statement | bracket | doubleslash | semicolon | dot | object | string | number | variable | conditional | function | loop | array | class | property | method | event
WHAT IZ? (MID)
scope | debugging | interval | date | math | random | shuffle | copy | length | push | indexof | zimloop | substr | match | replace | regexp
WHAT IZ? (ADVANCED)
ternary | case | cdn | github | closure | custom | prototype | extend | getset | override | static | privatepublic | pattern | module | mvc | nodism
ZIM CAPTURE (BASIC)
1. Coding Resources | 2. Getting Started | 3. Making Shapes | 4. Using Components | 5. Customizing Components | 6. Loading Assets | 7. Dragging Objects | 8. Animating Objects | 9. Using Containers | 10. Custom Shapes | 11. Adobe Animate | 12. Applying Events
ZIM CAPTURE (MID)
13. Building with Loops | 14. Events on Containers | 15. Tickers, Containers and HitTests | 16. Customizing Frame | 17. Animation Callback | 18. Sequencing | 19. Damping | 20. Scaling, Placing and Masking | 21. Custom Buttons | 22. Waiters and Indicators | 23. Panes and Windows | 24. Tabs
ZIM CAPTURE (ADVANCED)
25. Parallax | 26. Scrollers | 27. SpriteSheets | 28. Swiping | 29. Grids and Guides | 30. Layout | 31. Pages | 32. HotSpots | 33. Mobile Optimization | 34. Physics with Box2D | 35. 3D with ThreeJS | 36. Extending ZIM
WRAP
CODE
ACTIONS
SHAPES & COMPONENTS
CONTROLS
FRAME
WORKSHOPS - (YOU CAN TEACH)
Lessons 23, 24, 25, 26, 27, 28 - Labs for Portfolio Work
- Working on final mobile apps...
