Задать вопрос
@gora54747

Phaser js как повернуть спрайт на угол,как изменить прозрачность спрайта, как столкновение двух спрайтов прописать?

Здравствуйте изучаю phaser js , по сайту источника https://www.phaser.io/ создал первую игру которая представлена на сайте и приступил к созданию своей вот код
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8" />
    <title>Making your first Phaser 3 Game - Part 3</title>
    <script src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.js"></script>
    <style type="text/css">
        body {
            margin: 0;
        }
    </style>
</head>
<body>

<script type="text/javascript">
    var config = {
    type: Phaser.AUTO,
    width: 768,
    height: 1024,
    physics: {  /* подключение Arcade Physics, поддержку физики*/
        default: 'arcade',
        arcade: {
            gravity: { y: 300 },
            debug: false
        }
    },
    scene: {
        preload: preload,
        create: create,
        update: update
    }
};
    var girl;
var timedEvent;
var platforms;
    var strelka;
    var game = new Phaser.Game(config);
    function preload ()
    {
        /*загружаем данные в загрузчик */
        this.load.image('backgraund', 'sprites/1_0000s_0005_bg.jpg');
        this.load.image('girl', 'sprites/1_0000s_0001s_0000_Layer-981.png');
        this.load.image('labal1', 'sprites/1_0000s_0002_Group-9.png');
        this.load.image('krug', 'sprites/1.png');
        this.load.image('strelka', 'sprites/1_0000_arrowdown.png');
     
    }
    function create ()
    {
        /*создаем размешаем фон координаты указаны по центру но можно по верхенму левому --
        this.add.image(0, 0, 'sky').setOrigin(0, 0)*/
        platforms = this.physics.add.staticGroup();
        platforms.create(0, 703, 'girl').setOrigin(0, 0);
        this.add.image(0, 0, 'backgraund').setOrigin(0, 0);
      girl= this.add.image(0, 703, 'girl').setOrigin(0, 0);
        this.add.image(130, 469, 'labal1').setOrigin(0, 0);
        
       strelka =  this.add.image(320, 670, 'strelka').setOrigin(0, 0);
        
        /*
        
        this.add.overlap(girl, strelka, collectStar, null, this);
        */
timedEvent = this.time.delayedCall(5000, onEvent, [], this);
          
    }
    function update ()
    {
         girl.x = girl.x +10;
        strelka.y = strelka.y + 10;
        
        /*
        console.log(girl.Alpha);
       console.log(girl.globalAlpha);
       console.log(girl.opacity);
        Phaser.Actions.SetAlpha(girl, 0.5, 0.5);
        girl.globalAlpha = 0.5;
        girl.Alpha = 0.5;
        girl.SetAlpha = 0.5;
      
            girl.frame.pivotY =10;
        girl.frame.pivotX =10;
        girl.frame.rotated = 100;
        */
    }
    function onEvent ()
{
    this.add.image(-30, 731, 'krug').setOrigin(0, 0);
   /* girl.kill();*/
    girl.destroy(true); 
    girl = 'null';
    
     
}
    
    function collectStar () {
    console.log("huy");
    }
</script>

</body>
</html>


вопрос в том пытаюсь в учебных целях реализовать
1. поворот на угол girl
2.изменить прозрачность girl
3.выполнить вывод в консоль при пересечении girl и стрелка

Прошу сразу извенить за вопрос из разряда "для чайников" Phaser js изучаю впервые на сайте Phaser что нашел не смог реализовать это видно в коде коментариев /**/ всем заранее спасибо...
  • Вопрос задан
  • 586 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@cubit
Разнопрограммист
strelka лучше заменить на arrow, русские слова писать транслитом англ. буквами не оч. хорошая практика, сразу отучайтесь от этого.

Насчет поворота тот тут скорее всего надо вызвать метод angle() у girl.

Если вы про коллизии то возможно подойдет https://phaser.io/examples/v3/view/physics/matterj...

Насчет прозрачности: наверняка есть какое-то свойство alpha, или метод setAlpha(). Попробуйте с этим поработать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽