Last Modified: 2023-07-09
Compoent with Asset
audio
App/book/assets/audios/long/GentleRain.mp3
App/book/components/page3/index.lua
local sceneName = ... -- local scene = require('controller.scene').new(sceneName, { name = "page3", components = { layers = { }, audios = { long = {"GentleRain", "Tranquility" }, short ={} , }, groups = {}, timers = {}, variables = {}, page = { } }, commands = { "onComplete", "play" }, onInit = function(scene) print("onInit") end }) -- return scene
App/book/components/page3/audios/long/GentelRain.lua
local name = ... local props = { name = "GentleRain", type = "stream", autoPlay = false, channel = 1, folder = nil, filename = "GentleRain.mp3", } local M = { -- name = {{aname}}, -- type = {{atype}}, -- language = nil -- or {"en", "jp"}, -- filename = "{{fileName}}", -- folder = nil -- allowRepeat = false, -- autoPlay = {{aplay}}, -- deplay = {{adelay}}, -- volume = {{avol}}, -- channel = {{achannel}} -- loops = {{aloop}}, -- fadein = {{tofade}}, -- retain = {{akeep}} } -- you can play it with UI.audios[self.name]:play() return require("components.kwik.page_audio").set(props)
layer replacement
- particles
- spritesheet
- video
- www(html)
TODO reame controls to asset?
For instance, a spritesheet consists of an imagesheet png in assets/sprites folder, properties like sequence data are defined in layerA_sprite.lua in components/page/layers folder, and components/page/index.lua declears the sprite class for layerA
App/book/assets/sprites/imagesheet.png
spritesheet.lua in the same folder has the sheetInfo properites.
App/book/components/index.lua
local scene = require('controller.scene').new(sceneName, { name = "page1", components = { layers = { { bg={} }, { layerA={class={"sprite"}} }, }, audios = {}, groups = {}, timers = {}, variables = {}, page = {} }, commands = {}, onInit = function(scene) print("onInit") end })
App/book/components/layers/layerA.lua
-- layer properties local Props = { blendMode = "normal", height = 100, width = 100, kind = pixel, name = "layerA", x = display.contentCenterX, y = display.contentCenterY, alpha = 100/100, }
App/book/components/layers/layerA_sprite.lua
sheetInfo “spritesheet” loads spritesheet.lua in the same folder
local M = { name = "spritesheet", class = "spritesheet", type = "uniform-sized", -- TexturePacker, Animate assets = { filename = "imagesheet.png", sheetInfo = "spritesheet", sheetContentWidth = 376, -- same size or loaded from sheetInfo sheetContentHeight = 188, -- same size or loaded from sheetInfo numFrames = 2, -- same size or loaded from sheetInfo width = 188, -- same size, disable for TP, Aniamte height = 188, -- same size, disable for TP, Animate }, sequenceData = { { name = "default", count = 2, loopCount = 0, loopDirection = "forward", -- reverse after last frame pause = false, start = 1, time = 1000, }, { name = "test", frames = {1,2}, loopCount = 0, loopDirection = "forward", -- reverse after last frame pause = false, time = 1000, } }, actioneName = "", }