gpt4 book ai didi

phaser-framework - 移相器 : Gravity originating from a body

转载 作者:行者123 更新时间:2023-12-04 20:06:11 26 4
gpt4 key购买 nike

我在我的游戏中添加了一个应该有重力的物体,所以想象一个大的空白屏幕,中间有一个“地球”的圆圈。

什么方法可以让我将任何其他添加到游戏中的 body “加速”或“吸引”到这个圈子?基本上如果小行星出现,它应该保持它的初始速度,但会受到地球引力的影响。

最佳答案

我相信我找到了您正在寻找的这种方法 here .

我也有该方法的示例 in action here .

这是我的示例的源代码:

// Global constants
var GAME_WIDTH = 800;
var GAME_HEIGHT = 600;

var SHIP_X_POS = 100;
var SHIP_Y_POS = 200;

var PLANET_X_POS = 400;
var PLANET_Y_POS = 300;

var ACCELERATION_TOWARDS_PLANET = 500;

var SHIP_VELOCITY_X = 150;
var SHIP_VELOCITY_Y = 150;

// Global variables
var ship;
var planet;

var game = new Phaser.Game(GAME_WIDTH, GAME_HEIGHT, Phaser.AUTO, "game", {preload: preload, create: create, update: update});

function preload () {
game.load.image("ship", "sprites/phaser_ship.png");
game.load.image("planet", "sprites/planet.png");
}

function create () {
var ship = game.add.sprite(SHIP_X_POS, SHIP_Y_POS, "ship");
game.physics.arcade.enable(ship);
ship.body.velocity.x = SHIP_VELOCITY_X;
ship.body.velocity.y = SHIP_VELOCITY_Y;

var planet = game.add.sprite(PLANET_X_POS, PLANET_Y_POS, "planet");
game.physics.arcade.enable(planet);
planet.body.immovable = true;
game.physics.arcade.accelerateToObject(ship, planet, ACCELERATION_TOWARDS_PLANET);
}

function update () {
// nothing to update
}

关于phaser-framework - 移相器 : Gravity originating from a body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com