1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- class FoodHuntDialogue extends Object2D
- {
- constructor(name)
- {
- super(name);
-
- /** @type {String} */
- this.text1 = "Você conhece alguma árvore que dá tantos frutos diferentes assim?";
- /** @type {String} */
- this.text2 = " Já ouviu falar na grande árvore do Tamoromu? Converse com sua professora."
- /** @type {Number} */
- this.bgOpacity = 0;
- /** @type {Number} */
- this.text1Opacity = 0;
- /** @type {Number} */
- this.text2Opacity = 0;
- /** @type {Button} */
- this.continueButton = null;
- /** @type {Tween} */
- this.tween = null;
- /** @type {Timer} */
- this.buttonTimer = null;
- }
- _initSignals()
- {
- this.addSignal("dialogueFinished");
- }
- _setup()
- {
- this.setPosition(1920 / 2, 1080 - 300);
- this.continueButton = new Button("Continue", "Continuar")
- this.continueButton.setFontSize(40)
- this.continueButton.setPosition(-this.continueButton.getSize().x / 2, -this.continueButton.getSize().y / 2 + 100);
- this.continueButton.connect("mouseClicked", this, "_onContinueClicked");
- this.continueButton.hide();
- this.addChild(this.continueButton);
- this.tween = new Tween("Tween");
- this.tween.interpolateProperty(this, "bgOpacity", PROPERTY_TYPE.NUMBER, 0, 200, 2, TRANS_TYPE.LINEAR);
- this.tween.interpolateProperty(this, "text1Opacity", PROPERTY_TYPE.NUMBER, 0, 255, 2, TRANS_TYPE.LINEAR);
- this.tween.interpolateProperty(this, "text2Opacity", PROPERTY_TYPE.NUMBER, 0, 255, 2, TRANS_TYPE.LINEAR, EASE_TYPE.IN, 3);
- this.addChild(this.tween);
- this.buttonTimer = new Timer("ButtonTimer");
- this.buttonTimer.connect("timeout", this, "_onTimerTimeout");
- this.addChild(this.buttonTimer);
- }
- _draw( /** @type {number} */ delta, /** @type {p5.Graphics} */ db)
- {
- db.noStroke();
- db.fill(0, this.bgOpacity);
- db.rectMode(CENTER);
- db.rect(0, 0, 1800, 400, 40, 40);
- db.textAlign(CENTER, CENTER);
- db.fill(255, this.text1Opacity);
- db.textSize(40);
- db.text(this.text1, 0, -100);
- db.fill(255, this.text2Opacity);
- db.text(this.text2, 0, 0);
- }
- _initDialogue()
- {
- this.tween.startAll();
- this.buttonTimer.start(5);
- }
- _onTimerTimeout()
- {
- this.continueButton.show();
- }
- _onContinueClicked()
- {
- this.continueButton.hide();
- this.emitSignal("dialogueFinished");
- }
- }
|