美文网首页
scratch-gui->State->scratchGui

scratch-gui->State->scratchGui

作者: hanxianshe_9530 | 来源:发表于2019-10-29 11:34 被阅读0次
{
  scratchGui: {
    alerts: {
      visible: true,
      alertsList: []
    },
    assetDrag: {
      dragging: false,
      currentOffset: null,
      img: null
    },
    blockDrag: false,
    cards: {
      visible: false,
      content: {
        'intro-move-sayhello': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Getting Started',
              id: 'gui.howtos.intro-move-sayhello-hat.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          tags: [
            'help',
            'stuck',
            'how',
            'can',
            'say'
          ],
          img: 'static/assets/5c74b2c74fb87685d69914f6af840bc2.jpg',
          steps: [
            {
              video: 'intro-move-sayhello'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a move block',
                  id: 'gui.howtos.intro-move.step_stepMove',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'introMove'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Click the green flag to start',
                  id: 'gui.howtos.add-a-move-block.step_stepMoveSayHello',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'introSayHello'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'add-sprite'
              ]
            }
          ],
          urlId: 'getStarted'
        },
        'animate-a-name': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Animate a Name',
              id: 'gui.howtos.animate-a-name.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/d9e0fd6da7031be3ed69ef361ad28792.jpg',
          tags: [
            'animation',
            'art',
            'spin',
            'grow'
          ],
          steps: [
            {
              video: 'animate-a-name'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pick a Letter Sprite',
                  id: 'gui.howtos.animate-a-name.step_AnimatePickLetter',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'namePickLetter'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Play a Sound When Clicked',
                  id: 'gui.howtos.animate-a-name.step_AnimatePlaySound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'namePlaySound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pick Another Letter Sprite',
                  id: 'gui.howtos.animate-a-name.step_AnimatePickLetter2',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'namePickLetter2'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Change color',
                  id: 'gui.howtos.animate-a-name.step_AnimateChangeColor',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'nameChangeColor'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pick Another Letter Sprite & Make It Spin',
                  id: 'gui.howtos.animate-a-name.step_AnimateSpin',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'nameSpin'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pick Another Letter Sprite & Make It Grow',
                  id: 'gui.howtos.animate-a-name.step_AnimateGrow',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'nameGrow'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'glide-around'
              ]
            }
          ],
          urlId: 'name'
        },
        imagine: {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Imagine a World',
              id: 'gui.howtos.imagine',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          tags: [
            'imagine'
          ],
          img: 'static/assets/0e7c63d93e28be97a36696f8a1528c4c.jpg',
          steps: [
            {
              video: 'imagine'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Type What You Want to Say',
                  id: 'gui.howtos.imagine.step_imagineTypeWhatYouWant',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineTypeWhatYouWant'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Click the Green Flag to Start',
                  id: 'gui.howtos.imagine.step_imagineClickGreenFlag',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineClickGreenFlag'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose Any Backdrop',
                  id: 'gui.howtos.imagine.step_imagineChooseBackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineChooseBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose Any Sprite',
                  id: 'gui.howtos.imagine.step_imagineChooseSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineChooseSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Press the Space Key to Glide',
                  id: 'gui.howtos.imagine.step_imagineFlyAround',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineFlyAround'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose Another Sprite',
                  id: 'gui.howtos.imagine.step_imagineChooseAnotherSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineChooseAnotherSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Left-Right',
                  id: 'gui.howtos.imagine.step_imagineLeftRight',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineLeftRight'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Up-Down',
                  id: 'gui.howtos.imagine.step_imagineUpDown',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineUpDown'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Change Costumes',
                  id: 'gui.howtos.imagine.step_imagineChangeCostumes',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineChangeCostumes'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Glide to a Point',
                  id: 'gui.howtos.imagine.step_imagineGlideToPoint',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineGlideToPoint'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Grow and Shrink',
                  id: 'gui.howtos.imagine.step_imagineGrowShrink',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineGrowShrink'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose Another Backdrop',
                  id: 'gui.howtos.imagine.step_imagineChooseAnotherBackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineChooseAnotherBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Switch Backdrops',
                  id: 'gui.howtos.imagine.step_imagineSwitchBackdrops',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineSwitchBackdrops'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Sound',
                  id: 'gui.howtos.imagine.step_imagineRecordASound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineRecordASound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose Your Sound',
                  id: 'gui.howtos.imagine.step_imagineChooseSound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'imagineChooseSound'
            },
            {
              deckIds: [
                'hide-and-show',
                'Chase-Game'
              ]
            }
          ],
          urlId: 'imagine'
        },
        'Make-Music': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Make Music',
              id: 'gui.howtos.make-music.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/410ccbdf0bbd12597c7152f64d44afca.jpg',
          tags: [
            'music',
            'sound',
            'instrument',
            'play',
            'song',
            'band'
          ],
          steps: [
            {
              video: 'Make-Music'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pick an Instrument Sprite ',
                  id: 'gui.howtos.Make-Music.step_PickInstrument',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'musicPickInstrument'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Play Sound When Clicked',
                  id: 'gui.howtos.Make-Music.step_PlaySoundClick',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'musicPlaySound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Create a Song',
                  id: 'gui.howtos.Make-Music.step_MakeSong',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'musicMakeSong'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose a Drum & Make a Beat',
                  id: 'gui.howtos.make-music.step_MakeBeat',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'musicMakeBeat'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose the Microphone Sprite & Surprise Beatbox',
                  id: 'gui.howtos.make-music.step_MakeBeatBox',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'musicMakeBeatbox'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'add-sprite'
              ]
            }
          ],
          urlId: 'music'
        },
        'Tell-A-Story': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Create A Story',
              id: 'gui.howtos.story.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/66644f76b3f90ffeeb9bec0ffd4bccdb.jpg',
          steps: [
            {
              video: 'stah7jjorp'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Backdrop',
                  id: 'gui.howtos.story.step_addbg',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyPickBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Character',
                  id: 'gui.howtos.story.step_addsprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyPickSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Say Something',
                  id: 'gui.howtos.story.step_saysomething',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storySaySomething'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Another Character',
                  id: 'gui.howtos.story.step_addanothersprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyPickSprite2'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Flip Direction',
                  id: 'gui.howtos.story.step_flip',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyFlip'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Have A Conversation',
                  id: 'gui.howtos.story.step_conversation',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyConversation'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Another Backdrop',
                  id: 'gui.howtos.story.addanotherbg',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyPickBackdrop2'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Switch Backdrops',
                  id: 'gui.howtos.story.step_swithbg',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storySwitchBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Hide a Character',
                  id: 'gui.howtos.story.step_hidewizard',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyHideCharacter'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Show a Character',
                  id: 'gui.howtos.story.step_showwizard',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'storyShowCharacter'
            },
            {
              deckIds: [
                'say-it-out-loud',
                'record-a-sound'
              ]
            }
          ],
          urlId: 'tell-a-story'
        },
        'Chase-Game': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Make a Chase Game',
              id: 'gui.howtos.make-a-chase-game.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/31bc4953d6286b30920ef5a53878e875.jpg',
          tags: [
            'games',
            'arrow',
            'keyboard',
            'score'
          ],
          steps: [
            {
              video: 'Chase-Game'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Backdrop',
                  id: 'gui.howtos.Chase-Game.step_BG',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameAddBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Sprite',
                  id: 'gui.howtos.chase-game.step_AddOcto',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameAddSprite1'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Right & Left With Arrow Keys',
                  id: 'gui.howtos.make-music.step_LeftRight',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameRightLeft'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Up & Down With Arrow Keys',
                  id: 'gui.howtos.Chase-Game.step_UpDown',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameUpDown'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Another Sprite',
                  id: 'gui.howtos.Chase-Game.step_AddStar',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameAddSprite2'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Randomly',
                  id: 'gui.howtos.Chase-Game.step_MoveRandom',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameMoveRandomly'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'In Octopus Sprite, When Touching Play Sound',
                  id: 'gui.howtos.Chase-Game.step_WhenTouch',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGamePlaySound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Create Score Variable',
                  id: 'gui.howtos.Chase-Game.step_ScoreVariable',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameAddVariable'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'In Octopus Sprite, When Touching Add Score',
                  id: 'gui.howtos.Chase-Game.ScoreWhenTouch',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'chaseGameChangeScore'
            },
            {
              deckIds: [
                'add-effects',
                'move-around-with-arrow-keys'
              ]
            }
          ],
          urlId: 'chase-game'
        },
        'Animate-A-Character': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Animate A Character',
              id: 'gui.howtos.animate-char.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/8c3127887a7aacaea989aa247e510f84.jpg',
          steps: [
            {
              video: 's228u3g5u9'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Backdrop',
                  id: 'gui.howtos.animate-char.step_addbg',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharPickBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Sprite',
                  id: 'gui.howtos.animate-char.step_addsprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharPickSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Say Something',
                  id: 'gui.howtos.animate-char.step_saysomething',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharSaySomething'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Sound',
                  id: 'gui.howtos.animate-char.step_addsound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharAddSound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Animate Talking',
                  id: 'gui.howtos.animate-char.step_animatetalking',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharTalk'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Using Arrow Keys',
                  id: 'gui.howtos.animate-char.step_arrowkeys',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharMove'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Jump',
                  id: 'gui.howtos.animate-char.step_jump',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharJump'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Change Color',
                  id: 'gui.howtos.animate-char.step_changecolor',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'animateCharChangeColor'
            },
            {
              deckIds: [
                'Chase-Game',
                'Tell-A-Story'
              ]
            }
          ],
          urlId: 'animate-a-character'
        },
        'Make-A-Game': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Make a Clicker Game',
              id: 'gui.howtos.make-a-game.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/e0e5baf4d9616b66aaa2e560cf4cfb51.jpg',
          tags: [
            'games',
            'click',
            'clicked',
            'score'
          ],
          steps: [
            {
              video: 'Make-A-Game'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pick A Sprite',
                  id: 'gui.howtos.Make-A-Game.step_GamePickSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGamePickSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Play Sound When Clicked',
                  id: 'gui.howtos.make-a-game.step_GamePlaySound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGamePlaySound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Create Score Variable',
                  id: 'gui.howtos.make-a-game.step_GameAddScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGameAddScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'When Clicked Increase Score',
                  id: 'gui.howtos.make-a-game.step_GameChangeScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGameChangeScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Go to a random position',
                  id: 'gui.howtos.make-a-game.step_Random',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGameRandomPosition'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Change Color',
                  id: 'gui.howtos.make-music.step_GameChangeColor',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGameChangeColor'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Reset Score',
                  id: 'gui.howtos.make-music.step_ResetScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'popGameResetScore'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'move-around-with-arrow-keys'
              ]
            }
          ],
          urlId: 'clicker-game'
        },
        'make-it-fly': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Make it Fly',
              id: 'gui.howtos.make-it-fly.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          tags: [
            'game',
            'fly',
            'how',
            'can',
            'animation'
          ],
          img: 'static/assets/18ec610c4e29d83d214a7e844b836cd8.jpg',
          steps: [
            {
              video: 'zbtdx2dem9'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose a Sky Background',
                  id: 'gui.howtos.fly.step_stepflyChooseBackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyChooseBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose a Character',
                  id: 'gui.howtos.add-a-move-block.step_stepflyChooseCharacter',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyChooseCharacter'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Say Something',
                  id: 'gui.howtos.fly.step_stepflySaySomething',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flySaySomething'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move With Arrow Keys',
                  id: 'gui.howtos.add-a-move-block.step_stepflyMoveArrows',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyMoveArrows'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose an Object to Collect',
                  id: 'gui.howtos.fly.step_stepflyChooseObject',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyChooseObject'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Make the Object Move',
                  id: 'gui.howtos.add-a-move-block.step_stepflyFlyingObject',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyFlyingObject'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Select Your Character',
                  id: 'gui.howtos.add-a-move-block.step_stepflySelectFlyingSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flySelectFlyingSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Score',
                  id: 'gui.howtos.add-a-move-block.step_stepflyAddScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyAddScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Keep Score',
                  id: 'gui.howtos.add-a-move-block.step_stepflyKeepScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyKeepScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Scenery',
                  id: 'gui.howtos.add-a-move-block.step_stepflyAddScenery',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyAddScenery'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move the Scenery',
                  id: 'gui.howtos.add-a-move-block.step_stepflyMoveScenery',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flyMoveScenery'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Next Costume',
                  id: 'gui.howtos.add-a-move-block.step_stepflySwitchLooks',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'flySwitchLooks'
            },
            {
              deckIds: [
                'change-size',
                'spin-video'
              ]
            }
          ],
          urlId: 'make-it-fly'
        },
        pong: {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Pong Game',
              id: 'gui.howtos.pong',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          tags: [
            'pong',
            'game'
          ],
          img: 'static/assets/0136d7b1618e6d7ecaf97717bd128a05.jpg',
          steps: [
            {
              video: 'pong-game'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Backdrop',
                  id: 'gui.howtos.pong.step_pongAddBackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongAddBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Ball Sprite',
                  id: 'gui.howtos.pong.step_pongAddBallSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongAddBallSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Bounce Around',
                  id: 'gui.howtos.pong.step_pongBounceAround',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongBounceAround'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Paddle',
                  id: 'gui.howtos.pong.step_pongAddPaddle',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongAddPaddle'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move the Paddle',
                  id: 'gui.howtos.pong.step_pongMoveThePaddle',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongMoveThePaddle'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Select the Ball Sprite',
                  id: 'gui.howtos.pong.step_pongSelectBallSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongSelectBallSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Code to Bounce the Ball Off the Paddle',
                  id: 'gui.howtos.pong.step_pongAddMoreCodeToBall',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongAddMoreCodeToBall'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Score',
                  id: 'gui.howtos.pong.step_pongAddAScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongAddAScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose \'Score\' from the Menu',
                  id: 'gui.howtos.pong.step_pongChooseScoreFromMenu',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongChooseScoreFromMenu'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Insert the \'Change Score\' Block',
                  id: 'gui.howtos.pong.step_pongInsertChangeScoreBlock',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongInsertChangeScoreBlock'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Reset Score',
                  id: 'gui.howtos.pong.step_pongResetScore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongResetScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add the Line Sprite',
                  id: 'gui.howtos.pong.step_pongAddLineSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongAddLineSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Game Over',
                  id: 'gui.howtos.pong.step_pongGameOver',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'pongGameOver'
            },
            {
              deckIds: [
                'add-effects',
                'Video-Sensing'
              ]
            }
          ],
          urlId: 'pong'
        },
        'say-it-out-loud': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Create Animations That Talk',
              id: 'gui.howtos.say-it-out-loud',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/d7eb1e753d603d291d24509c5389d92b.jpg',
          steps: [
            {
              video: 'k54n8uwcty',
              trackingPixel: {
                type: 'img',
                key: null,
                ref: null,
                props: {
                  src: 'https://code.org/api/hour/begin_scratch_talk.png'
                },
                _owner: null,
                _store: {}
              }
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add the Text to Speech blocks',
                  id: 'gui.howtos.say-it-out-loud.step_AddTXTextension',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechAddExtension'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Say Something',
                  id: 'gui.howtos.say-it-out-loud.step_TXTSpeech',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechSaySomething'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Set a Voice',
                  id: 'gui.howtos.say-it-out-loud_TXTSetVoice',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechSetVoice'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Around',
                  id: 'gui.howtos.say-it-out-loud.step_TXTMove',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechMoveAround'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Backdrop',
                  id: 'gui.howtos.say-it-out-loud.step_TXTBackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechAddBackdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Another Character',
                  id: 'gui.howtos.say-it-out-loud.step_TXTAddSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechAddSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Perform a Song',
                  id: 'gui.howtos.say-it-out-loud.step_TXTSong',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechSong'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Change Color',
                  id: 'gui.howtos.say-it-out-loud.step_TXTColor',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechChangeColor'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Spin Around',
                  id: 'gui.howtos.say-it-out-loud.step_TXTSpin',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechSpin'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Grow and Shrink',
                  id: 'gui.howtos.say-it-out-loud.step_TXTGrow',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'speechGrowShrink'
            },
            {
              deckIds: [
                'animate-a-name',
                'Make-Music'
              ]
            }
          ],
          urlId: 'animations-that-talk'
        },
        'Video-Sensing': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Video Sensing',
              id: 'gui.howtos.videosens.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/e8db9671e95c4c4530eea1528936b9e7.jpg',
          steps: [
            {
              video: '3pd1z110d6'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Extension',
                  id: 'gui.howtos.videosens.step_addextension',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'videoAddExtension'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pet the Cat',
                  id: 'gui.howtos.videosens.step_pet',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'videoPet'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Animate',
                  id: 'gui.howtos.videosens.step_animate',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'videoAnimate'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Pop a Balloon',
                  id: 'gui.howtos.videosens.step_pop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'videoPop'
            },
            {
              deckIds: [
                'Make-Music',
                'add-effects'
              ]
            }
          ],
          urlId: 'video-sensing'
        },
        'cartoon-network': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Animate an Adventure Game',
              id: 'gui.howtos.cartoon-network',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          requiredProjectId: '249143200',
          img: 'static/assets/9fd052aaf1b4701ff0134d124d6327a3.jpg',
          steps: [
            {
              video: 'uz5oz5h9yg',
              trackingPixel: {
                type: 'img',
                key: null,
                ref: null,
                props: {
                  src: 'https://code.org/api/hour/begin_scratch_adventure.png'
                },
                _owner: null,
                _store: {}
              }
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose a Character to Show',
                  id: 'gui.howtos.cartoon-network.step_CNcharacter',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnShowCharacter'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Say Something',
                  id: 'gui.howtos.cartoon-network.step_CNsay',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnSay'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Glide Around',
                  id: 'gui.howtos.cartoon-network.step_CNglide',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnGlide'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: ' Choose an Object to Chase ',
                  id: 'gui.howtos.cartoon-network.step_CNpicksprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnPickSprite'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Collect Objects',
                  id: 'gui.howtos.cartoon-network.step_CNcollect',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnCollect'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Make a Score Variable',
                  id: 'gui.howtos.cartoon-network.step_CNvariable',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnVariable'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Keep Score',
                  id: 'gui.howtos.cartoon-network.step_CNscore',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnScore'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Level Up: Change Backdrop',
                  id: 'gui.howtos.cartoon-network.step_CNbackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'cnBackdrop'
            },
            {
              video: '6o76f5ivo1'
            },
            {
              deckIds: [
                'switch-costume',
                'add-effects'
              ]
            }
          ],
          urlId: 'animate-an-adventure-game'
        },
        'add-sprite': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Add a Sprite',
              id: 'gui.howtos.add-sprite.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/24a18c39cf49ac3797806a525e07cd7b.jpg',
          tags: [
            'art',
            'games',
            'stories',
            'character'
          ],
          steps: [
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Sprite',
                  id: 'gui.howtos.add-sprite.step_addSprite',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'addSprite'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'switch-costume'
              ]
            }
          ],
          urlId: 'add-a-sprite'
        },
        'add-a-backdrop': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Add a Backdrop',
              id: 'gui.howtos.add-a-backdrop.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/c19282f27937a0db7e8146672018fa8b.jpg',
          tags: [
            'art',
            'games',
            'stories',
            'background'
          ],
          steps: [
            {
              video: 'add-a-backdrop'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add a Backdrop',
                  id: 'gui.howtos.add-a-backdrop.step_addBackdrop',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'addBackdrop'
            },
            {
              deckIds: [
                'change-size',
                'switch-costume'
              ]
            }
          ],
          urlId: 'add-a-backdrop'
        },
        'change-size': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Change Size',
              id: 'gui.howtos.change-size.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/3f5201aea12f282cdb6edd2575fef169.jpg',
          scale: [
            'art',
            'animation',
            'scale'
          ],
          steps: [
            {
              video: 'change-size'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Change Size',
                  id: 'gui.howtos.change-size.step_changeSize',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'changeSize'
            },
            {
              deckIds: [
                'glide-around',
                'spin-video'
              ]
            }
          ],
          urlId: 'change-size'
        },
        'glide-around': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Glide Around',
              id: 'gui.howtos.glide-around.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/223e926c7036a87ef1b5f5d6e07ac7eb.jpg',
          tags: [
            'animation',
            'stories',
            'music',
            'instrument',
            'play',
            'song',
            'band'
          ],
          steps: [
            {
              video: 'glide-around'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Glide Around',
                  id: 'gui.howtos.change-size.step_glideAroundBackAndForth',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'glideAroundBackAndForth'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Glide to a Point',
                  id: 'gui.howtos.change-size.step_glideAroundPoint',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'glideAroundPoint'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'switch-costume'
              ]
            }
          ],
          urlId: 'glide-around'
        },
        'record-a-sound': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Record a Sound',
              id: 'gui.howtos.record-a-sound.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          tags: [
            'music',
            'games',
            'stories'
          ],
          img: 'static/assets/41f52071ce371c8a792b03b0c1c4c4b0.jpg',
          steps: [
            {
              video: 'record-a-sound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Click on the \'Sounds\' Tab',
                  id: 'gui.howtos.change-size.step_recordASoundSoundsTab',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'recordASoundSoundsTab'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Click \'Record\'',
                  id: 'gui.howtos.change-size.step_recordASoundClickRecord',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'recordASoundClickRecord'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Press the Record Button',
                  id: 'gui.howtos.change-size.step_recordASoundPressRecordButton',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'recordASoundPressRecordButton'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Choose Your Sound',
                  id: 'gui.howtos.change-size.step_recordASoundChooseSound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'recordASoundChooseSound'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Play Your Sound',
                  id: 'gui.howtos.change-size.step_recordASoundPlayYourSound',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'recordASoundPlayYourSound'
            },
            {
              deckIds: [
                'Make-Music',
                'switch-costume'
              ]
            }
          ],
          urlId: 'record-a-sound'
        },
        'spin-video': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Make It Spin',
              id: 'gui.howtos.spin-video.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/ababebe088315c098726bb98f6dacd65.jpg',
          tags: [
            'animation',
            'rotate',
            'rotation'
          ],
          steps: [
            {
              video: 'spin-video'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Turn',
                  id: 'gui.howtos.change-size.step_spinTurn',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'spinTurn'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Set Direction',
                  id: 'gui.howtos.change-size.step_spinPointInDirection',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'spinPointInDirection'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'switch-costume'
              ]
            }
          ],
          urlId: 'make-it-spin'
        },
        'hide-and-show': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Hide and Show',
              id: 'gui.howtos.hide-and-show.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/c4ceba83cf15016aa9c2cf6c3b9c764b.jpg',
          tags: [
            'stories',
            'appear',
            'disappear'
          ],
          steps: [
            {
              video: 'hide-and-show'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Hide and Show',
                  id: 'gui.howtos.change-size.step_hideAndShow',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'hideAndShow'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'switch-costume'
              ]
            }
          ],
          urlId: 'hide'
        },
        'switch-costume': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Animate a Sprite',
              id: 'gui.howtos.switch-costume.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/d1680a847046403c792a689d2572ff80.jpg',
          tags: [
            'animation',
            'art',
            'games',
            'stories',
            'paint',
            'edit',
            'change',
            'character',
            'sprite'
          ],
          steps: [
            {
              video: 'switch-costume'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Animate a Sprite',
                  id: 'gui.howtos.change-size.step_switchCostumes',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'switchCostumes'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'add-effects'
              ]
            }
          ],
          urlId: 'animate-a-sprite'
        },
        'move-around-with-arrow-keys': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Use Arrow Keys',
              id: 'gui.howtos.move-around-with-arrow-keys.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          img: 'static/assets/ae4fdf588b063e05cd99593e785dd60d.jpg',
          tags: [
            'games',
            'keyboard'
          ],
          steps: [
            {
              video: 'move-around-with-arrow-keys'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Left and Right',
                  id: 'gui.howtos.add-a-backdrop.step_moveArrowKeysLeftRight',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'moveArrowKeysLeftRight'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Move Up and Down',
                  id: 'gui.howtos.add-a-backdrop.step_moveArrowKeysUpDown',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'moveArrowKeysUpDown'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'switch-costume'
              ]
            }
          ],
          urlId: 'arrow-keys'
        },
        'add-effects': {
          name: {
            key: null,
            ref: null,
            props: {
              defaultMessage: 'Add Effects',
              id: 'gui.howtos.add-effects.name',
              values: {}
            },
            _owner: null,
            _store: {}
          },
          tags: [
            'animation',
            'art',
            'games',
            'stories',
            '8-bit',
            'brightness',
            'ghost',
            'transparency',
            'opacity',
            'fx',
            'color',
            'fisheye',
            'whirl',
            'twist',
            'pixelate',
            'mosaic',
            '8bit'
          ],
          img: 'static/assets/0611d215fe34175ddbab01f4f48f3517.jpg',
          steps: [
            {
              video: 'add-effects'
            },
            {
              title: {
                key: null,
                ref: null,
                props: {
                  defaultMessage: 'Add Effects',
                  id: 'gui.howtos.videosens.step_addEffects',
                  values: {}
                },
                _owner: null,
                _store: {}
              },
              image: 'addEffects'
            },
            {
              deckIds: [
                'add-a-backdrop',
                'switch-costume'
              ]
            }
          ],
          urlId: 'add-effects'
        },
        'wedo2-getting-started': {
          steps: [
            {
              video: '4im7iizv47'
            }
          ],
          urlId: 'wedo',
          hidden: true
        },
        'ev3-getting-started': {
          steps: [
            {
              video: 'qgu78c5y7d'
            }
          ],
          urlId: 'ev3',
          hidden: true
        },
        'whats-new': {
          steps: [
            {
              video: 'mtqymxg0qq'
            }
          ],
          urlId: 'whatsnew',
          hidden: true
        }
      },
      activeDeckId: null,
      step: 0,
      x: 0,
      y: 0,
      expanded: true,
      dragging: false
    },
    colorPicker: {
      active: false
    },
    connectionModal: {
      extensionId: null
    },
    customProcedures: {
      active: false,
      mutator: null,
      callback: null
    },
    editorTab: {
      activeTabIndex: 0
    },
    mode: {
      showBranding: false,
      isFullScreen: false,
      isPlayerOnly: false,
      hasEverEnteredEditor: true
    },
    hoveredTarget: {
      sprite: null,
      receivedBlocks: false
    },
    stageSize: {
      stageSize: 'large'
    },
    menus: {
      accountMenu: false,
      fileMenu: false,
      editMenu: false,
      languageMenu: false,
      loginMenu: false
    },
    micIndicator: false,
    modals: {
      backdropLibrary: false,
      cameraCapture: false,
      costumeLibrary: false,
      extensionLibrary: false,
      loadingProject: false,
      telemetryModal: false,
      soundLibrary: false,
      spriteLibrary: false,
      soundRecorder: false,
      connectionModal: false,
      tipsLibrary: false
    },
    monitors: {},
    monitorLayout: {
      monitors: {},
      savedMonitorPositions: {}
    },
    projectChanged: false,
    projectState: {
      error: null,
      projectData: '',
      projectId: '0',
      loadingState: 'SHOWING_WITHOUT_ID'
    },
    projectTitle: 'Scratch作品',
    fontsLoaded: true,
    restoreDeletion: {
      restoreFun: null,
      deletedItem: ''
    },
    targets: {
      sprites: {
        'Hn@T{@`!16A`LAB:gQ5/': {
          order: 0,
          id: 'Hn@T{@`!16A`LAB:gQ5/',
          name: '角色1',
          isStage: false,
          x: 0,
          y: 0,
          size: 100,
          direction: 90,
          draggable: false,
          currentCostume: 0,
          costume: {
            asset: {
              assetType: {
                contentType: 'image/svg+xml',
                name: 'ImageVector',
                runtimeFormat: 'svg',
                immutable: true
              },
              assetId: 'b7853f557e4426412e64bb3da6531a99',
              dataFormat: 'svg',
              data: {
                '0': 60,
                '1': 115,
                '6080': 62
              },
              clean: true,
              dependencies: []
            },
            assetId: 'b7853f557e4426412e64bb3da6531a99',
            skinId: 1,
            name: '造型1',
            bitmapResolution: 1,
            rotationCenterX: 48,
            rotationCenterY: 50,
            md5: 'b7853f557e4426412e64bb3da6531a99.svg',
            dataFormat: 'svg',
            size: [
              96,
              101
            ]
          },
          costumeCount: 2,
          visible: true,
          rotationStyle: 'all around',
          comments: {},
          blocks: {},
          variables: {},
          costumes: [
            {
              asset: {
                assetType: {
                  contentType: 'image/svg+xml',
                  name: 'ImageVector',
                  runtimeFormat: 'svg',
                  immutable: true
                },
                assetId: 'b7853f557e4426412e64bb3da6531a99',
                dataFormat: 'svg',
                data: {
                  '0': 60,
                  '1': 115,
                  '6080': 62
                },
                clean: true,
                dependencies: []
              },
              assetId: 'b7853f557e4426412e64bb3da6531a99',
              skinId: 1,
              name: '造型1',
              bitmapResolution: 1,
              rotationCenterX: 48,
              rotationCenterY: 50,
              md5: 'b7853f557e4426412e64bb3da6531a99.svg',
              dataFormat: 'svg',
              size: [
                96,
                101
              ]
            },
            {
              asset: {
                assetType: {
                  contentType: 'image/svg+xml',
                  name: 'ImageVector',
                  runtimeFormat: 'svg',
                  immutable: true
                },
                assetId: 'e6ddc55a6ddd9cc9d84fe0b4c21e016f',
                dataFormat: 'svg',
                data: {
                  '0': 60,
                  '1': 115,
                  '6057': 62
                },
                clean: true,
                dependencies: []
              },
              assetId: 'e6ddc55a6ddd9cc9d84fe0b4c21e016f',
              skinId: 2,
              name: '造型2',
              bitmapResolution: 1,
              rotationCenterX: 46,
              rotationCenterY: 53,
              md5: 'e6ddc55a6ddd9cc9d84fe0b4c21e016f.svg',
              dataFormat: 'svg',
              size: [
                93,
                106
              ]
            }
          ],
          sounds: [
            {
              assetId: '83c36d806dc92327b9e7049a565c6bff',
              format: '',
              rate: 44100,
              sampleCount: 37376,
              name: '喵',
              md5: '83c36d806dc92327b9e7049a565c6bff.wav',
              dataFormat: 'wav',
              data: null,
              asset: {
                assetType: {
                  contentType: 'audio/x-wav',
                  name: 'Sound',
                  runtimeFormat: 'wav',
                  immutable: true
                },
                assetId: '83c36d806dc92327b9e7049a565c6bff',
                dataFormat: 'wav',
                data: {
                  '0': 82,
                  '1': 73,
                  '37419': 0
                },
                clean: true,
                dependencies: []
              },
              soundId: '|/@!`n3+S;hFo]orVmwr'
            }
          ],
          textToSpeechLanguage: null,
          tempo: 60,
          volume: 100,
          videoTransparency: 50,
          videoState: 'on'
        }
      },
      stage: {
        id: 'I*}f+|g,,3q9:XQo56a|',
        name: 'Stage',
        isStage: true,
        x: 0,
        y: 0,
        size: 100,
        direction: 90,
        draggable: false,
        currentCostume: 0,
        costume: {
          asset: {
            assetType: {
              contentType: 'image/svg+xml',
              name: 'ImageVector',
              runtimeFormat: 'svg',
              immutable: true
            },
            assetId: 'cd21514d0531fdffb22204e0ec5ed84a',
            dataFormat: 'svg',
            data: {
              '0': 60,
              '1': 115,
              '201': 62
            },
            clean: true,
            dependencies: []
          },
          assetId: 'cd21514d0531fdffb22204e0ec5ed84a',
          skinId: 0,
          name: '背景1',
          rotationCenterX: 240,
          rotationCenterY: 180,
          md5: 'cd21514d0531fdffb22204e0ec5ed84a.svg',
          dataFormat: 'svg',
          size: [
            2,
            2
          ]
        },
        costumeCount: 1,
        visible: true,
        rotationStyle: 'all around',
        comments: {},
        blocks: {},
        variables: {
          '`jEk@4|i[#Fk?(8x)AV.-my variable': {
            id: '`jEk@4|i[#Fk?(8x)AV.-my variable',
            name: '我的变量',
            type: '',
            isCloud: false,
            value: 0
          }
        },
        costumes: [
          {
            asset: {
              assetType: {
                contentType: 'image/svg+xml',
                name: 'ImageVector',
                runtimeFormat: 'svg',
                immutable: true
              },
              assetId: 'cd21514d0531fdffb22204e0ec5ed84a',
              dataFormat: 'svg',
              data: {
                '0': 60,
                '1': 115,
                '201': 62
              },
              clean: true,
              dependencies: []
            },
            assetId: 'cd21514d0531fdffb22204e0ec5ed84a',
            skinId: 0,
            name: '背景1',
            rotationCenterX: 240,
            rotationCenterY: 180,
            md5: 'cd21514d0531fdffb22204e0ec5ed84a.svg',
            dataFormat: 'svg',
            size: [
              2,
              2
            ]
          }
        ],
        sounds: [
          {
            assetId: '83a9787d4cb6f3b7632b4ddfebf74367',
            format: '',
            rate: 44100,
            sampleCount: 1032,
            name: '啵',
            md5: '83a9787d4cb6f3b7632b4ddfebf74367.wav',
            dataFormat: 'wav',
            data: null,
            asset: {
              assetType: {
                contentType: 'audio/x-wav',
                name: 'Sound',
                runtimeFormat: 'wav',
                immutable: true
              },
              assetId: '83a9787d4cb6f3b7632b4ddfebf74367',
              dataFormat: 'wav',
              data: {
                '0': 82,
                '1': 73,
                '559': 254
              },
              clean: true,
              dependencies: []
            },
            soundId: 'sbCZyk+MJ8qA43ClNSu,'
          }
        ],
        textToSpeechLanguage: null,
        tempo: 60,
        volume: 100,
        videoTransparency: 50,
        videoState: 'on'
      },
      highlightedTargetId: null,
      highlightedTargetTime: null,
      editingTarget: 'Hn@T{@`!16A`LAB:gQ5/'
    },
    timeout: {
      autoSaveTimeoutId: null
    },
    toolbox: {
      toolboxXML: ''
    },
    vm: '',
    vmStatus: {
      running: false,
      started: true,
      turbo: false
    }
  }
}

网友评论

      本文标题:scratch-gui->State->scratchGui

      本文链接:https://www.haomeiwen.com/subject/dcmwvctx.html