mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-19 08:08:38 +02:00
feat(scene): per-lap variety, the occasional face-plant, and a sky per tab
Every tab was running the identical eight seconds forever. Three changes: - Each lap rolls its own timing: 3-5s of empty field, and the money now enters on its own delay at its own pace instead of shadowing the doge every time. - Roughly one lap in six the doge eats it partway down the field: he tips nose-first onto the grass, GAME OVER comes up, and the coins he never reached are still sitting there. Costs no new art — it is the running sprite pivoted on its own feet. - A `variant` on SceneWidget picks the sky: dusk (History, lock screen), dawn (Receive), night (Send, with stars and a moon instead of the sun). The cycle is now a timer-driven state machine rather than one SequentialAnimation. That is not stylistic: a lap that rolls its own durations has to assign them somewhere, and assigning a duration to a child of a *running* SequentialAnimation makes the group recompute and re-enter its own ScriptAction until the JS stack blows. Qt flags the binding form of the same mistake as a binding loop. Verified by headless qml6 render: a forced trip lap, and a clean run with no QML warnings.
This commit is contained in:
+1
-1
@@ -29,7 +29,7 @@ SendWidget::SendWidget(Wallet *wallet, QWidget *parent)
|
||||
// wowlet: the form only needs the top of the tab — give the rest of it to
|
||||
// the ambient scene. A layout item under the form, never an overlay: the
|
||||
// send form itself stays untouched.
|
||||
auto *scene = new SceneWidget(this);
|
||||
auto *scene = new SceneWidget(this, SceneWidget::Night);
|
||||
scene->setMinimumHeight(160);
|
||||
scene->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
ui->verticalLayoutOuter->addWidget(scene, 1);
|
||||
|
||||
Reference in New Issue
Block a user