Skip to content

Instantly share code, notes, and snippets.

@srdjan-m
srdjan-m / sequence-data.lua
Last active December 17, 2015 13:59
corona: sprite sequence (consecutive frames)
local sequenceData = {
{
name = "normalRun", --name of animation sequence
start = 1, --starting frame index
count = 8, --total number of frames to animate consecutively before stopping or looping
time = 800, --optional, in milliseconds; if not supplied, the sprite is frame-based
loopCount = 0, --optional. 0 (default) repeats forever; a positive integer specifies the number of loops
loopDirection = "forward" --optional, either "forward" (default) or "bounce" which will play forward then backwards through the sequence of frames
} --if defining more sequences, place a comma here and proceed to the next sequence sub-table
}
@srdjan-m
srdjan-m / sequence-non-consecutive.lua
Last active December 17, 2015 14:08
corona: sprite sequence (non-consecutive frames)
local sequenceData = {
{
name = "fastRun",
frames = { 1,2,4,5,6,7 }, --specific order of frame indexes from the image sheet
time = 250,
loopCount = 0
} --if defining more sequences, place a comma here and proceed to the next sequence sub-table
}
@srdjan-m
srdjan-m / sequence-mixed.lua
Last active December 17, 2015 14:08
corona: sprite sequence (mixed)
local sequenceData = {
{ name="normalRun", start=1, count=8, time=800 },
{ name="fastRun", frames={ 1,2,4,5,6,7 }, time=250, loopCount=0 }
}
@srdjan-m
srdjan-m / sprite-listener-function.lua
Last active December 17, 2015 14:08
corona: sprite listener
local function mySpriteListener( event )
if ( event.phase == "ended" ) then
local thisSprite = event.target --"event.target" references the sprite
thisSprite:setSequence( "fastRun" ) --switch to "fastRun" sequence
thisSprite:play() --play the new sequence; it won't play automatically!
end
end
animation:addEventListener( "sprite", mySpriteListener ) --add a sprite listener to your sprite
@srdjan-m
srdjan-m / composer-template.lua
Created March 29, 2014 23:49
corona: Composer Template
local composer = require( "composer" )
local scene = composer.newScene()
--------------------------------------------------------------------------------
-- All code outside of the listener functions will only be executed ONCE
-- unless "composer.removeScene()" is called.
--------------------------------------------------------------------------------
-- local forward references should go here
--------------------------------------------------------------------------------
@srdjan-m
srdjan-m / splitStringByCharPos.lua
Created November 29, 2014 16:12
lua: string splitting by character position
print(string.sub("123456789", 1)) --should print original string
print(string.sub("123456789", 1, -1)) --should print original string
print(string.sub("123456789", 4, 7)) --should print 4567
print(string.sub("123456789", 1, 4)) --should print the 1st 4 chars
print(string.sub("123456789", -4, -1)) --should print the last 4 chars
print(string.sub("123456789", 2, -2)) --should remove the first and last char
print(string.sub("123456789", 2)) --should remove the first char
print(string.sub("123456789", 1, -2)) --should remove the last char
print(string.sub("123456789", -2)) --should print only the last 2 chars
print(string.sub("123456789", 1, 2)) --should print only the first 2 chars
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Leaflet Zoomify Demo</title>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.5.1/leaflet.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.5.1/leaflet.ie.css" />
<![endif]-->
<style type="text/css">
@srdjan-m
srdjan-m / ajaxReq.js
Last active June 6, 2016 10:24
javascript: vanilla example of ajax request. Taken from https://www.sitepoint.com/guide-vanilla-ajax-without-jquery/
var xhr = new XMLHttpRequest();
xhr.open('GET', 'send-ajax-data.php');
xhr.send(null);
xhr.onreadystatechange = function () {
var DONE = 4; // readyState 4 means the request is done.
var OK = 200; // status 200 is a successful return.
if (xhr.readyState === DONE) {
if (xhr.status === OK)
console.log(xhr.responseText); // 'This is the returned text.'
@srdjan-m
srdjan-m / classutils.js
Last active January 31, 2017 22:20
javascript: add or remove class
function hasClass(el, className) {
'use strict';
if (el.classList) {
return el.classList.contains(className);
}
return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)'));
}
function addClass(el, className) {
'use strict';
@srdjan-m
srdjan-m / topixels.js
Created June 7, 2016 09:53
javascript: convert number to string with 'px' as sufix
function toPixels(pNum) {
'use strict';
return pNum + 'px';
}