Skip to content

Instantly share code, notes, and snippets.

--# Main
--3D Model viewer
State={Ready=1,Loading=2,Error=3}
function setup()
parameter.integer("Choose",1,#Models,3)
parameter.action("Load",ShowModel)
parameter.integer("Zoom",1,300,50)
parameter.boolean("AutoRotate",true)
@Utsira
Utsira / Squash and stretch
Last active August 29, 2015 14:17
Squash and stretch
--# Main
-- Sandbox
supportedOrientations(LANDSCAPE_ANY)
displayMode(FULLSCREEN_NO_BUTTONS)
--displayMode(OVERLAY)
--displayMode(FULLSCREEN)
function setup()
screen=vec2(WIDTH,HEIGHT)
@Utsira
Utsira / Component system
Last active April 15, 2016 14:30
Component System using Mix-ins for Codea / Lua
--# Main
-- Component System by Utsira. uses runtime mix-ins to add component's methods to entities (ie not a pure entity - component - system model).
-- TO USE:
-- Entity is a superclass that adds the method :add, for adding (including) components to game objects(entities).
-- Components are tables, but use : to name their methods.
-- If component has an iterator table then it is a system. Iterate will run through every entity that is part of that system
-- If component has an :init function, this will not be added to the entity, but will instead be run when the component is added
-- Use this function to perform your initial setup
function setup()
@Utsira
Utsira / DisintegrationShader.lua
Last active May 2, 2019 20:23
Disintegration Shader
--# Main
-- Disintegration Shader
supportedOrientations(LANDSCAPE_ANY)
function setup()
-- parameter.watch("grav")
-- parameter.watch("gravBack") --for bug-checking the get local point function
print ("tilt to spin the sphere \ntap the screen to explode / unexplode the mesh")
aerial = color(28, 27, 54, 255)
verts = Isosphere(5)
@Utsira
Utsira / SaveBox2DStateAsJson
Created June 22, 2015 20:39
Save and load a snapshot of a Box2D scene using JSON
--# Main
-- Json Test
supportedOrientations(LANDSCAPE_LEFT)
displayMode(OVERLAY)
-- Use this function to perform your initial setup
function setup()
parameter.action("Take snapshot", function() tabSave(objects, "Test") end)
parameter.action("Load from snapshot", function() killBodies() loadBodies() end)
AddToJson() --establish metamethods for encoding vec2, vec3, vec4, matrix as json objects
@Utsira
Utsira / MarkdownCodea
Last active January 9, 2016 13:37
Markdown-like text formatting in Codea
--# Main
-- Markdown Codea
-- by Yojimbo2000
displayMode(FULLSCREEN)
function setup()
setText()
y,vel = 0,0
scrollY={} --store deltas for smooth scrolling upon finger release
end
@Utsira
Utsira / MarkdownCodeaParaStitch
Created July 12, 2015 15:41
Markdown Codea with paragraph stitching
--# Main
-- Markdown Codea
-- paragraph-stitching version
-- by Yojimbo2000
displayMode(OVERLAY)
displayMode(FULLSCREEN)
function setup()
state = Stitch
state.init()
@Utsira
Utsira / Main.lua
Last active August 29, 2015 14:28 — forked from tarrouye/Main.lua
Multiplayer Class (and Drawing Example)
function setup()
local connectionMade = function()
output.clear()
parameter.clear()
print("Connected!")
gameSetup()
end
multihandler = Multiplayer(receiveData, connectionMade)
@Utsira
Utsira / InstancingOBJtest.lua
Created October 30, 2015 23:05
Profiling instancing of obj models in Codea
--# Main
--Simple Blender .obj loader
--assumes each object has only one texture image
--currently only supports one object per file
--todo: remote images
local touches, tArray, lastPinchDist = {}, {}
@Utsira
Utsira / example_augmentedOffice_didUpdateNode.swift
Created June 9, 2018 14:11
Examples for augmented office blog post
func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
guard let plane = anchor as? ARPlaneAnchor,
let geometry = node.geometry as? ARSCNPlaneGeometry
else { return }
geometry.update(from: plane.geometry)
node.boundingBox = planeBoundary(extent: plane.extent)
}