EQL5/examples/M-modules/quick/sokoban
2021-03-13 16:03:09 +01:00
..
lisp replace deprecated ECL C names; revisions; integrate QML into the library ('qml-lisp.lisp' is obsolete now); 2021-03-13 16:03:09 +01:00
qml fix QML examples to work with Qt 5.9 2017-06-21 21:13:29 +02:00
properties.lisp unix: add "make install" option for exe, lib, modules (refactor file locations) 2017-04-28 12:05:59 +02:00
README.txt add short convenience macros for calling QML functions and setting properties 2020-06-24 11:59:34 +02:00
sokoban.lisp replace deprecated ECL C names; revisions; integrate QML into the library ('qml-lisp.lisp' is obsolete now); 2021-03-13 16:03:09 +01:00

INFO
====

This is a QML port of example "examples/7-Sokoban/".

The main difference is the use of simple animations when moving items.


RUN
===

Please run it from this directory. For Emacs/Slime, this would be:

    eql5 ~/slime/eql-start-swank.lisp sokoban.lisp


NOTES
=====

This example shows how to dynamically create QML items from Lisp.

The ability to call Lisp from QML comes in handy for the Lisp functions
which need to wait for eventual running animations to finish.

See e.g. class:

    "qml/ext/NumberAnimationExt.qml"


TIP
===

See also function QML-SET-ALL (short Q>*), which is convenient for dynamically created
QML items, since many of them may have the same 'objectName'.

Examples:

    (q>* |opacity| "wall" 1/2)

    (q>* !scale| "object" 2/3)