pxt-arcade 1.13.16 → 1.13.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/target.js +1 -1
- package/built/target.json +1 -1
- package/built/targetlight.json +1 -1
- package/built/theme.json +1 -1
- package/docs/skillmap/educator-info/dino-map-info.md +2 -2
- package/docs/skillmap/educator-info/galaxy-map-info.md +2 -2
- package/docs/skillmap/educator-info/star-map-info.md +2 -2
- package/docs/skillmap/educator-info/story-map-info.md +3 -2
- package/docs/skillmap/story-new/joke-examples.md +41 -0
- package/docs/skillmap/story-new/story-example.md +17 -0
- package/docs/skillmap/story-new/story1.md +272 -0
- package/docs/skillmap/story-new/story2.md +340 -0
- package/docs/skillmap/story-new/story3.md +435 -0
- package/docs/skillmap/story-new/story4.md +561 -0
- package/docs/static/hero-gallery/galaxy.png +0 -0
- package/docs/static/skillmap/backgrounds/dino-map.png +0 -0
- package/docs/static/skillmap/backgrounds/galaxy-comp.png +0 -0
- package/docs/static/skillmap/backgrounds/galaxy-map.png +0 -0
- package/docs/static/skillmap/backgrounds/story-map.png +0 -0
- package/docs/static/tutorials/arrows/arrows.png +0 -0
- package/docs/static/tutorials/blazing/blazing.png +0 -0
- package/docs/static/tutorials/collect-the-clovers/clovers.png +0 -0
- package/docs/static/tutorials/holiday/birthday.png +0 -0
- package/docs/static/tutorials/horse/horse.png +0 -0
- package/docs/static/tutorials/music/zune.png +0 -0
- package/docs/test/skillmap/adventure/adventure1.md +438 -0
- package/docs/test/skillmap/adventure/adventure2.md +440 -0
- package/docs/test/skillmap/adventure/adventure3.md +489 -0
- package/docs/test/skillmap/galaxy/galaxy2.md +4 -4
- package/docs/test/skillmap/galaxy/galaxy3.md +2 -2
- package/docs/test/skillmap/racer/racer1.md +1 -1
- package/docs/test/skillmap/racer/racer3.md +3 -3
- package/docs/test/skillmap/racer.md +1 -1
- package/docs/test/skillmap/story-new/story4.md +2 -2
- package/docs/test/tutorials/blazing.md +11 -11
- package/docs/test/tutorials/music.md +40 -14
- package/docs/tours/editor-tour.md +39 -0
- package/package.json +1 -1
- package/pxtarget.json +4 -1
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
# The Shortest Story
|
|
2
|
+
### @explicitHints true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## {Introduction @showdialog}
|
|
6
|
+
|
|
7
|
+
Let's use what we've learned to make a short story to share with family and friends.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## {Step 2}
|
|
13
|
+
|
|
14
|
+
Before you start this lesson, you're going to need a story to tell.
|
|
15
|
+
|
|
16
|
+
You can either write a story of your own or use this one:
|
|
17
|
+
|
|
18
|
+
[**_Click here to copy lines from our story._**](#doc:/skillmap/story/story-example "Copy lines from our story here.")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## {Step 3}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Do you have your story?
|
|
28
|
+
|
|
29
|
+
**Design your first page!** <br/>
|
|
30
|
+
📚 📖 📚
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
- :tree: From ``||scene:Scene||``, snap
|
|
35
|
+
```block
|
|
36
|
+
scene.setBackgroundImage(img`.`)
|
|
37
|
+
```
|
|
38
|
+
into **the empty**<br/>
|
|
39
|
+
``||loops(noclick):on start||`` <br/>
|
|
40
|
+
container already in the workspace.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
- :paint brush: **Click the empty image box** to draw a the first picture for your story.
|
|
44
|
+
|
|
45
|
+
💡 _Don't have a story in mind? You can use one of our backgrounds._
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
#### ~ tutorialhint
|
|
49
|
+
|
|
50
|
+
```blocks
|
|
51
|
+
// @highlight
|
|
52
|
+
scene.setBackgroundImage(img`
|
|
53
|
+
9 9 9 9
|
|
54
|
+
9 9 9 9
|
|
55
|
+
7 7 7 7
|
|
56
|
+
`)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## {Step 4}
|
|
63
|
+
|
|
64
|
+
**Take a look at the game screen.**
|
|
65
|
+
|
|
66
|
+
- :binoculars: How does your background look? Where do you plan to add the text? Top? Middle? Bottom?
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## {Step 5}
|
|
72
|
+
|
|
73
|
+
**✨ Great ✨**
|
|
74
|
+
|
|
75
|
+
Give the reader a chance to enjoy your art before you cover it with text.
|
|
76
|
+
|
|
77
|
+
- :redo: From ``||loops: Loops||``, drag
|
|
78
|
+
```block
|
|
79
|
+
pause(1000)
|
|
80
|
+
```
|
|
81
|
+
it into **the end** of the <br/>
|
|
82
|
+
``||loops(noclick):on start||``<br/>
|
|
83
|
+
container that's already in the workspace.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
- :mouse pointer: This pause block will stop the program for 1 second (1000ms) before moving to the next line. If you want more time, you can change it to a larger number.
|
|
87
|
+
|
|
88
|
+
#### ~ tutorialhint
|
|
89
|
+
|
|
90
|
+
```blocks
|
|
91
|
+
scene.setBackgroundImage(img`
|
|
92
|
+
9 9 9 9
|
|
93
|
+
9 9 9 9
|
|
94
|
+
7 7 7 7
|
|
95
|
+
`)
|
|
96
|
+
// @highlight
|
|
97
|
+
pause(1000)
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## {Step 6}
|
|
102
|
+
|
|
103
|
+
Add your first page of text.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
- :circle: From ``||game:Game||``, drag
|
|
109
|
+
```block
|
|
110
|
+
game.showLongText("Once upon a time...", DialogLayout.Bottom)
|
|
111
|
+
```
|
|
112
|
+
into **the end** of the <br/>
|
|
113
|
+
``||loops(noclick):on start||``<br/>
|
|
114
|
+
container that's already in the workspace.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
- :mouse pointer: Change the text to whatever works as the first line of your story. You can also change the location of your text from ``||game(noclick):bottom||`` to another area of the screen.
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
💡 _Did you find a different way to add text in another level that you like better? Feel free to use that instead!_
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
#### ~ tutorialhint
|
|
126
|
+
|
|
127
|
+
```blocks
|
|
128
|
+
scene.setBackgroundImage(img`
|
|
129
|
+
9 9 9 9
|
|
130
|
+
9 9 9 9
|
|
131
|
+
7 7 7 7
|
|
132
|
+
`)
|
|
133
|
+
pause(1000)
|
|
134
|
+
//@highlight
|
|
135
|
+
game.showLongText("Once upon a time...", DialogLayout.Bottom)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
## {Step 7}
|
|
140
|
+
|
|
141
|
+
**Make another page!**
|
|
142
|
+
|
|
143
|
+
Add another set of blocks with a new picture and a new line from your story.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
- :mouse pointer: Keep adding sets of blocks until you get to the end.
|
|
148
|
+
```block
|
|
149
|
+
scene.setBackgroundImage(img`
|
|
150
|
+
9 9 9 9
|
|
151
|
+
9 9 9 9
|
|
152
|
+
7 7 7 7
|
|
153
|
+
`)
|
|
154
|
+
pause(1000)
|
|
155
|
+
game.showLongText("Next door...", DialogLayout.Bottom)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
💡 _You don't always need to add the blocks in the same order. Want to show some pictures without text? Want to change the text without changing the picture? Play around and see what works for you!_
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
#### ~ tutorialhint
|
|
162
|
+
|
|
163
|
+
```blocks
|
|
164
|
+
scene.setBackgroundImage(img`
|
|
165
|
+
9 9 9 9
|
|
166
|
+
9 9 9 9
|
|
167
|
+
7 7 7 7
|
|
168
|
+
`)
|
|
169
|
+
pause(1000)
|
|
170
|
+
game.showLongText("Once upon a time, there was a lizard who lived beneath a toadstool.", DialogLayout.Bottom)
|
|
171
|
+
scene.setBackgroundImage(img`
|
|
172
|
+
9 9 9 9
|
|
173
|
+
9 9 9 9
|
|
174
|
+
7 7 7 7
|
|
175
|
+
`)
|
|
176
|
+
pause(1000)
|
|
177
|
+
game.showLongText("Next door, there lived a butterfly on a daisy.", DialogLayout.Bottom)
|
|
178
|
+
scene.setBackgroundImage(img`
|
|
179
|
+
9 9 9 9
|
|
180
|
+
9 9 9 9
|
|
181
|
+
7 7 7 7
|
|
182
|
+
`)
|
|
183
|
+
pause(1000)
|
|
184
|
+
game.showLongText("Every day, the butterfly would sweep past and taunt the lizard from the sky.", DialogLayout.Bottom)
|
|
185
|
+
game.showLongText("\"Ha ha!\" He would say. \"Your house doesn't smell as good as mine.\"", DialogLayout.Bottom)
|
|
186
|
+
scene.setBackgroundImage(img`
|
|
187
|
+
9 9 9 9
|
|
188
|
+
9 9 9 9
|
|
189
|
+
7 7 7 7
|
|
190
|
+
`)
|
|
191
|
+
pause(1000)
|
|
192
|
+
game.showLongText("Finally, one day, the lizard decided to find a daisy of her own.", DialogLayout.Bottom)
|
|
193
|
+
scene.setBackgroundImage(img`
|
|
194
|
+
9 9 9 9
|
|
195
|
+
9 9 9 9
|
|
196
|
+
7 7 7 7
|
|
197
|
+
`)
|
|
198
|
+
pause(2000)
|
|
199
|
+
scene.setBackgroundImage(img`
|
|
200
|
+
9 9 9 9
|
|
201
|
+
9 9 9 9
|
|
202
|
+
7 7 7 7
|
|
203
|
+
`)
|
|
204
|
+
pause(2000)
|
|
205
|
+
scene.setBackgroundImage(img`
|
|
206
|
+
9 9 9 9
|
|
207
|
+
9 9 9 9
|
|
208
|
+
7 7 7 7
|
|
209
|
+
`)
|
|
210
|
+
pause(2000)
|
|
211
|
+
game.showLongText("She tried and tried, but she just couldn't get comfortable.", DialogLayout.Bottom)
|
|
212
|
+
scene.setBackgroundImage(img`
|
|
213
|
+
9 9 9 9
|
|
214
|
+
9 9 9 9
|
|
215
|
+
7 7 7 7
|
|
216
|
+
`)
|
|
217
|
+
pause(1000)
|
|
218
|
+
game.showLongText("No matter what she did, the fragrant flower didn't make her happy.", DialogLayout.Bottom)
|
|
219
|
+
scene.setBackgroundImage(img`
|
|
220
|
+
9 9 9 9
|
|
221
|
+
9 9 9 9
|
|
222
|
+
7 7 7 7
|
|
223
|
+
`)
|
|
224
|
+
pause(1000)
|
|
225
|
+
game.showLongText("The next day, the lizard moved back to her toadstool and lived happily ever after.", DialogLayout.Bottom)
|
|
226
|
+
})
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
## {Step 8}
|
|
231
|
+
|
|
232
|
+
**Look at what you have.**
|
|
233
|
+
|
|
234
|
+
- :binoculars: Don't forget to click through your story as you build to make sure the timing feels right.
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
## {Step 9}
|
|
240
|
+
|
|
241
|
+
**Need more action?**<br/>
|
|
242
|
+
🎥 🎥 🎥
|
|
243
|
+
|
|
244
|
+
You can use what you learned in the last level to add sprites to your story.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
- :paper plane: From ``||sprites:Sprites||``, grab
|
|
249
|
+
```block
|
|
250
|
+
let mySprite = sprites.create(img`
|
|
251
|
+
. . . . . . . . . . . . . . . .
|
|
252
|
+
. . . . . . . . . . . . . . . .
|
|
253
|
+
. . . . . . . . . . . . . . . .
|
|
254
|
+
. . . . . . . . . . . . . . . .
|
|
255
|
+
. . . . . . . . . . . . . . . .
|
|
256
|
+
. . . . . . . . . . . . . . . .
|
|
257
|
+
. . . . . . . . . . . . . . . .
|
|
258
|
+
. . . . . . . . . . . . . . . .
|
|
259
|
+
. . . . . . . . . . . . . . . .
|
|
260
|
+
. . . . . . . . . . . . . . . .
|
|
261
|
+
. . . . . . . . . . . . . . . .
|
|
262
|
+
. . . . . . . . . . . . . . . .
|
|
263
|
+
. . . . . . . . . . . . . . . .
|
|
264
|
+
. . . . . . . . . . . . . . . .
|
|
265
|
+
. . . . . . . . . . . . . . . .
|
|
266
|
+
. . . . . . . . . . . . . . . .
|
|
267
|
+
`, SpriteKind.Player)
|
|
268
|
+
```
|
|
269
|
+
and snap it in to the <br/>
|
|
270
|
+
``||loops(noclick):on start||``<br/>
|
|
271
|
+
container wherever it works best for your story.
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
- :mouse pointer: Choose your sprite, then check out the ``||sprites:Sprites||`` category to find other blocks that
|
|
275
|
+
let you perfectly position your sprite or add movement.
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
#### ~ tutorialhint
|
|
281
|
+
|
|
282
|
+
```blocks
|
|
283
|
+
scene.setBackgroundImage(img`
|
|
284
|
+
9 9 9 9
|
|
285
|
+
9 9 9 9
|
|
286
|
+
7 7 7 7
|
|
287
|
+
`)
|
|
288
|
+
//@highlight
|
|
289
|
+
let mySprite = sprites.create(img`
|
|
290
|
+
........................
|
|
291
|
+
............cc..........
|
|
292
|
+
............ccc.........
|
|
293
|
+
........ccc.ccccccc.....
|
|
294
|
+
........ccccc555555cc...
|
|
295
|
+
........ccb5555555555c..
|
|
296
|
+
.....ccc.b55555ff15555c.
|
|
297
|
+
.....cccb5555555ff55555c
|
|
298
|
+
......cb555555555555d55c
|
|
299
|
+
....c.b555555555bb55555c
|
|
300
|
+
....ccb555ddd5555b13bbc.
|
|
301
|
+
....ccd55ddddd555b3335c.
|
|
302
|
+
.....cdd5ddddddd55b335c.
|
|
303
|
+
...c.bddddb555bbbd555c..
|
|
304
|
+
...ccdddddb555555bccc...
|
|
305
|
+
..cccddddddcc5555bcc....
|
|
306
|
+
.cdccddddddddbcccbcccc..
|
|
307
|
+
.cddbdddddddddbbbbc55c..
|
|
308
|
+
.cdddddddddd55dbbbc5c...
|
|
309
|
+
.cbddddbbbbd55ddbccc....
|
|
310
|
+
..cbdddbbbbd555dccc.....
|
|
311
|
+
...cccbbbbbbddd555c.....
|
|
312
|
+
.....ccccccbd55555c.....
|
|
313
|
+
...........cc5555c......
|
|
314
|
+
`, SpriteKind.Player)
|
|
315
|
+
//@highlight
|
|
316
|
+
mySprite.setPosition(80, 90)
|
|
317
|
+
pause(1000)
|
|
318
|
+
game.showLongText("...happily ever after", DialogLayout.Bottom)
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
## {Step 10}
|
|
326
|
+
|
|
327
|
+
**👏 Happily ever after 👏**
|
|
328
|
+
|
|
329
|
+
Want to do something special to end your story?
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
- :tree: From ``||scene:Scene||``, grab
|
|
334
|
+
```block
|
|
335
|
+
effects.confetti.startScreenEffect()
|
|
336
|
+
```
|
|
337
|
+
and snap it into **the end** of the <br/>
|
|
338
|
+
``||loops(noclick):on start||``<br/>
|
|
339
|
+
container that's already in the workspace.
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
- :mouse pointer: Change **confetti** to whatever works best for your story!
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
#### ~ tutorialhint
|
|
346
|
+
|
|
347
|
+
```blocks
|
|
348
|
+
scene.setBackgroundImage(img`
|
|
349
|
+
9 9 9 9
|
|
350
|
+
9 9 9 9
|
|
351
|
+
7 7 7 7
|
|
352
|
+
`)
|
|
353
|
+
let mySprite = sprites.create(img`
|
|
354
|
+
........................
|
|
355
|
+
............cc..........
|
|
356
|
+
............ccc.........
|
|
357
|
+
........ccc.ccccccc.....
|
|
358
|
+
........ccccc555555cc...
|
|
359
|
+
........ccb5555555555c..
|
|
360
|
+
.....ccc.b55555ff15555c.
|
|
361
|
+
.....cccb5555555ff55555c
|
|
362
|
+
......cb555555555555d55c
|
|
363
|
+
....c.b555555555bb55555c
|
|
364
|
+
....ccb555ddd5555b13bbc.
|
|
365
|
+
....ccd55ddddd555b3335c.
|
|
366
|
+
.....cdd5ddddddd55b335c.
|
|
367
|
+
...c.bddddb555bbbd555c..
|
|
368
|
+
...ccdddddb555555bccc...
|
|
369
|
+
..cccddddddcc5555bcc....
|
|
370
|
+
.cdccddddddddbcccbcccc..
|
|
371
|
+
.cddbdddddddddbbbbc55c..
|
|
372
|
+
.cdddddddddd55dbbbc5c...
|
|
373
|
+
.cbddddbbbbd55ddbccc....
|
|
374
|
+
..cbdddbbbbd555dccc.....
|
|
375
|
+
...cccbbbbbbddd555c.....
|
|
376
|
+
.....ccccccbd55555c.....
|
|
377
|
+
...........cc5555c......
|
|
378
|
+
`, SpriteKind.Player)
|
|
379
|
+
mySprite.setPosition(80, 90)
|
|
380
|
+
pause(1000)
|
|
381
|
+
game.showLongText("...happily ever after", DialogLayout.Bottom)
|
|
382
|
+
//@highlight
|
|
383
|
+
effects.bubbles.startScreenEffect()
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
## {Step 10}
|
|
389
|
+
|
|
390
|
+
**🎹 Sound Effects 🎹**
|
|
391
|
+
|
|
392
|
+
Does your story need a soundtrack?
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
- :mouse pointer: From ``||music:Music||``, grab any of the <br/>
|
|
397
|
+
``||music: play [ ]||`` blocks <br/>
|
|
398
|
+
and add them to your project.
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
- :mouse pointer: Experiment with the sounds and where to put them to create the biggest impact.
|
|
402
|
+
|
|
403
|
+
#### ~ tutorialhint
|
|
404
|
+
|
|
405
|
+
```blocks
|
|
406
|
+
//@highlight
|
|
407
|
+
music.play(music.melodyPlayable(music.baDing), music.PlaybackMode.InBackground)
|
|
408
|
+
scene.setBackgroundImage(img`
|
|
409
|
+
9 9 9 9
|
|
410
|
+
9 9 9 9
|
|
411
|
+
7 7 7 7
|
|
412
|
+
`)
|
|
413
|
+
let mySprite = sprites.create(img`
|
|
414
|
+
........................
|
|
415
|
+
............cc..........
|
|
416
|
+
............ccc.........
|
|
417
|
+
........ccc.ccccccc.....
|
|
418
|
+
........ccccc555555cc...
|
|
419
|
+
........ccb5555555555c..
|
|
420
|
+
.....ccc.b55555ff15555c.
|
|
421
|
+
.....cccb5555555ff55555c
|
|
422
|
+
......cb555555555555d55c
|
|
423
|
+
....c.b555555555bb55555c
|
|
424
|
+
....ccb555ddd5555b13bbc.
|
|
425
|
+
....ccd55ddddd555b3335c.
|
|
426
|
+
.....cdd5ddddddd55b335c.
|
|
427
|
+
...c.bddddb555bbbd555c..
|
|
428
|
+
...ccdddddb555555bccc...
|
|
429
|
+
..cccddddddcc5555bcc....
|
|
430
|
+
.cdccddddddddbcccbcccc..
|
|
431
|
+
.cddbdddddddddbbbbc55c..
|
|
432
|
+
.cdddddddddd55dbbbc5c...
|
|
433
|
+
.cbddddbbbbd55ddbccc....
|
|
434
|
+
..cbdddbbbbd555dccc.....
|
|
435
|
+
...cccbbbbbbddd555c.....
|
|
436
|
+
.....ccccccbd55555c.....
|
|
437
|
+
...........cc5555c......
|
|
438
|
+
`, SpriteKind.Player)
|
|
439
|
+
mySprite.setPosition(80, 90)
|
|
440
|
+
pause(1000)
|
|
441
|
+
game.showLongText("...happily ever after", DialogLayout.Bottom)
|
|
442
|
+
effects.bubbles.startScreenEffect()
|
|
443
|
+
})
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
## {Finale}
|
|
448
|
+
|
|
449
|
+
**🤣 Congrats 🤣**
|
|
450
|
+
|
|
451
|
+
You've written a story that you can be proud of!
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
~hint How do I share my story?💡
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
**Want to share your project?**
|
|
459
|
+
|
|
460
|
+
Click "Done" to get back out to the skillmap, then look in the lower-right corner for the share button.
|
|
461
|
+
|
|
462
|
+

|
|
463
|
+
|
|
464
|
+
hint~
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
When you're done reading your story, click **Done** to return to the main page where you can share with everyone you know!
|
|
468
|
+
|
|
469
|
+
```blockconfig.global
|
|
470
|
+
pause(1000)
|
|
471
|
+
let mySprite: Sprite = null
|
|
472
|
+
carnival.addLabelTo(" ", carnival.Areas.Top)
|
|
473
|
+
game.showLongText("Once upon a time...", DialogLayout.Bottom)
|
|
474
|
+
music.play(music.melodyPlayable(music.baDing), music.PlaybackMode.InBackground)
|
|
475
|
+
mySprite.setFlag(SpriteFlag.StayInScreen, true)
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
```package
|
|
480
|
+
carnival=github:microsoft/arcade-carnival#v0.0.7
|
|
481
|
+
arcade-storytelling=github:microsoft/arcade-storytelling/
|
|
482
|
+
arcade-animations=github:microsoft/arcade-character-animations
|
|
483
|
+
short-story-assets-2=github:kiki-lee/short-story-assets-2#v0.0.5
|
|
484
|
+
short-story-assets-1=github:kiki-lee/short-story-assets-1#v0.0.6
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
```ghost
|
|
488
|
+
music.stopAllSounds()
|
|
489
|
+
scene.setBackgroundColor(1)
|
|
490
|
+
pauseUntil(() => controller.anyButton.isPressed())
|
|
491
|
+
scene.setBackgroundImage(img`
|
|
492
|
+
9 9 9 9
|
|
493
|
+
9 9 9 9
|
|
494
|
+
7 7 7 7
|
|
495
|
+
`)
|
|
496
|
+
pause(1000)
|
|
497
|
+
game.showLongText("Once upon a time", DialogLayout.Bottom)
|
|
498
|
+
scene.setBackgroundImage(img`
|
|
499
|
+
9 9 9 9
|
|
500
|
+
9 9 9 9
|
|
501
|
+
7 7 7 7
|
|
502
|
+
`)
|
|
503
|
+
scene.setBackgroundImage(img`
|
|
504
|
+
9 9 9 9
|
|
505
|
+
9 9 9 9
|
|
506
|
+
7 7 7 7
|
|
507
|
+
`)
|
|
508
|
+
pause(1000)
|
|
509
|
+
game.showLongText("Finally, one day, the lizard decided to find a daisy of her own.", DialogLayout.Bottom)
|
|
510
|
+
scene.setBackgroundImage(img`
|
|
511
|
+
9 9 9 9
|
|
512
|
+
9 9 9 9
|
|
513
|
+
7 7 7 7
|
|
514
|
+
`)
|
|
515
|
+
music.play(music.createSoundEffect(WaveShape.Sine, 5000, 0, 255, 0, 500, SoundExpressionEffect.None, InterpolationCurve.Linear), music.PlaybackMode.UntilDone)
|
|
516
|
+
music.play(music.createSong(hexhex`00780004080200`), music.PlaybackMode.InBackground)
|
|
517
|
+
let mySprite = sprites.create(img`.`, SpriteKind.Player)
|
|
518
|
+
story.printText(":)", 0, 0)
|
|
519
|
+
story.startCutscene(function () {
|
|
520
|
+
story.spriteSayText(mySprite, ":)")
|
|
521
|
+
})
|
|
522
|
+
story.setPagePauseLength(1000, 1000)
|
|
523
|
+
story.printCharacterText("")
|
|
524
|
+
story.setSoundEnabled(false)
|
|
525
|
+
mySprite.sayText(" ")
|
|
526
|
+
game.splash("")
|
|
527
|
+
game.showLongText("", DialogLayout.Bottom)
|
|
528
|
+
carnival.addLabelTo("Whack-the-Mole", carnival.Areas.Top)
|
|
529
|
+
mySprite.setPosition(0, 0)
|
|
530
|
+
story.cancelCurrentCutscene()
|
|
531
|
+
story.cancelSpriteMovement(mySprite)
|
|
532
|
+
story.spriteMoveToLocation(mySprite, 0, 0, 100)
|
|
533
|
+
music.setVolume(20)
|
|
534
|
+
music.play(music.createSong(hex`00780004080200`), music.PlaybackMode.UntilDone)
|
|
535
|
+
music.play(music.stringPlayable("- - - - - - - - ", 120), music.PlaybackMode.UntilDone)
|
|
536
|
+
music.play(music.melodyPlayable(music.baDing), music.PlaybackMode.UntilDone)
|
|
537
|
+
music.play(music.createSoundEffect(WaveShape.Sine, 5000, 0, 255, 0, 500, SoundExpressionEffect.None, InterpolationCurve.Linear), music.PlaybackMode.UntilDone)
|
|
538
|
+
music.stopAllSounds()
|
|
539
|
+
animation.runImageAnimation(
|
|
540
|
+
mySprite,
|
|
541
|
+
[img`.`],
|
|
542
|
+
100,
|
|
543
|
+
true
|
|
544
|
+
)
|
|
545
|
+
|
|
546
|
+
characterAnimations.loopFrames(
|
|
547
|
+
mySprite,
|
|
548
|
+
[img`.`],
|
|
549
|
+
500,
|
|
550
|
+
characterAnimations.rule(Predicate.NotMoving)
|
|
551
|
+
)
|
|
552
|
+
|
|
553
|
+
mySprite.startEffect(effects.spray)
|
|
554
|
+
mySprite.setImage(img`.`)
|
|
555
|
+
scene.cameraShake(4, 500)
|
|
556
|
+
mySprite.setVelocity(-20, 0)
|
|
557
|
+
mySprite.x = 0
|
|
558
|
+
mySprite.setFlag(SpriteFlag.StayInScreen, false)
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|