2014-09-13 3 views
5

게임에 중력이 있어야하는 몸체를 추가 했으므로 가운데에 "지구"를 나타내는 큰 빈 화면을 그립니다.페이저 : 몸체에서 비롯된 중력

게임에 추가 된 다른 신체가이 서클에 "가속화"또는 "매력적"으로 작용하게하는 방법은 무엇입니까? 근본적으로 소행성이 나타나면 초기 속도를 유지해야하지만 지구의 중력에 영향을받습니다.

답변

3

나는 당신이 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 
} 
+0

귀하의 링크가 죽은 : 여기

내 예를 들어 소스 코드 첫 번째는 [이]를 가리 것으로 보인다 (https://photonstorm.github.io/phaser-ce/Phaser. Physics.Arcade.html # accelerateToObject), 두 번째 파일은 아카이브에서 사용할 수 없습니다. – LarsW

+0

@LarsW 음, 네, 맞습니다. 이는 Google에서 웹 호스팅을 위해 Google 드라이브를 사용할 수 없기 때문에 발생합니다. https://gsuite-developers.googleblog.com/2015/08/deprecating-web-hosting-support-in.html. 다른 호스팅 플랫폼에서 예제를 다시 업로드 할 수 있지만이 폴더는 공개적으로 여기에서 다운로드 할 수 있습니다. https://drive.google.com/drive/folders/0B-ZLnDJaPrIYeFZlT2NXUlRjQTA – GDP2

관련 문제