stagger label buttons in columns
This commit is contained in:
@@ -54,12 +54,17 @@
|
|||||||
(let [runners (labelRunners)
|
(let [runners (labelRunners)
|
||||||
buttons (new flixel.group.FlxGroup.FlxTypedGroup<flixel.ui.FlxButton>)]
|
buttons (new flixel.group.FlxGroup.FlxTypedGroup<flixel.ui.FlxButton>)]
|
||||||
(localVar &mut buttonY 0)
|
(localVar &mut buttonY 0)
|
||||||
(doFor label (sort (collect (runners.keys)))
|
(localVar buttonsPerColumn 25)
|
||||||
|
(doFor [num label] (enumerate (sort (collect (runners.keys))))
|
||||||
(let [runner (dictGet runners label)
|
(let [runner (dictGet runners label)
|
||||||
b (new flixel.ui.FlxButton 0 buttonY label ->{(FlxG.state.remove buttons)(runner)})]
|
b (new flixel.ui.FlxButton 0 buttonY label ->{(FlxG.state.remove buttons)(runner)})]
|
||||||
|
(let [column (Std.int (/ num buttonsPerColumn))]
|
||||||
|
(set b.x (* b.width column)))
|
||||||
(buttons.add b))
|
(buttons.add b))
|
||||||
(+= buttonY 20))
|
(+= buttonY 20)
|
||||||
(FlxG.state.add buttons)))
|
(when (= (- buttonsPerColumn 1) (% num buttonsPerColumn))
|
||||||
|
(set buttonY 0)))
|
||||||
|
(.add (cast (_currentScene) SceneFlxState) buttons)))
|
||||||
|
|
||||||
(defMacro withProp [propKey name &body body]
|
(defMacro withProp [propKey name &body body]
|
||||||
`(let [,name (dictGet props ,propKey)]
|
`(let [,name (dictGet props ,propKey)]
|
||||||
|
Reference in New Issue
Block a user