Commit f56d7b42 authored by 18류지석's avatar 18류지석

물리 WIP

parent 839254ae
......@@ -9,7 +9,7 @@ class WordObject
this.wordGrade = WordReader.getWordGrade(this.wordTyping);
this.wordWeight = WordReader.getWordWeight(this.wordGrade);
//console.log("wordTyping : " + this.wordTyping + '\n' + "wordGrade : " + this.wordGrade + '\n' + "wordWeight : " + this.wordWeight + '\n');
this.wordSpeed = 1;
this.wordSpeed = 0.5;
}
instantiate(scene,lenRate)
......@@ -20,7 +20,8 @@ class WordObject
var random = WordSpace.getSpawnPoint(lenRate);
this.physicsObj = scene.physics.add.sprite(random.x, random.y, 'wordBgr' + this.wordGrade + '_' + Math.min(Math.max(2, this.wordText.length), 6))
.setMass(this.wordWeight)
.setScale(scale);
.setScale(scale)
.setBounce(0.5);
this.wordObj = scene.add.text(random.x, random.y, this.wordText,
{
......@@ -49,8 +50,15 @@ class WordObject
attract()
{
var dist = Phaser.Math.Distance.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
var angle = Phaser.Math.Angle.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
let gravityScale = 0.1;
let accel = {x: 0, y: 0};
let dist = Phaser.Math.Distance.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
let angle = Phaser.Math.Angle.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
accel.x += Math.pow(dist,2) * gravityScale * Math.cos(angle);
accel.y += Math.pow(dist,2) * gravityScale * Math.sin(angle);
this.physicsObj.setVelocity(dist * Math.cos(angle) * this.wordSpeed, dist * Math.sin(angle) * this.wordSpeed);
this.wordObj.setPosition(this.physicsObj.x, this.physicsObj.y);
this.physicsObj.setVelocity(dist * Math.cos(angle) * this.wordSpeed, dist * Math.sin(angle) * this.wordSpeed);
this.wordObj.setPosition(this.physicsObj.x, this.physicsObj.y);
}
......
......@@ -290,7 +290,7 @@ WordSpace.generateWord = function(scene, wordText, grade, lenRate)
word.physicsObj.topObj = word;
scene.physics.add.collider(word.physicsObj, WordSpace.wordPhysicsGroup, function(object1)
{
object1.topObj.wordSpeed = 0.1;
//object1.topObj.wordSpeed = 0.1;
object1.topObj.attract();
});
WordSpace.wordPhysicsGroup.add(word.physicsObj);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment