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

늒네코드 비활성화, 물리 문제 거의 해결, 단어 초기속도가 어디로 사라지는지 알 수 없음

Signed-off-by: 18류지석's avatar18류지석 <roadmageb@naver.com>
parent 21061e24
......@@ -17,10 +17,17 @@ class WordObject
let scale = ((p[1].y - p[0].y) / (p[1].x - p[0].x)) * (this.wordWeight - p[0].x) + p[0].y;
let fontscale = 25;
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)
.setMass(this.wordWeight * 10)
.setScale(scale)
.setBounce(0.5);
.setFrictionX(0.5)
.setFrictionY(0.5);
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);
this.physicsObj.setVelocity(100 * Math.cos(angle), 100 * Math.sin(angle));
this.wordObj = scene.add.text(random.x, random.y, this.wordText,
{
......@@ -32,6 +39,8 @@ class WordObject
WordSpace.totalWordNum += 1;
WordSpace.setGameOverTimer();
//console.log("Total weight : " + WordSpace.totalWeight);
console.log(this.physicsObj.body.velocity.x);
}
destroy()
......@@ -47,19 +56,34 @@ class WordObject
WordSpace.wordPhysicsGroup.remove(this.physicsObj, true, true);
}
attract()
{
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);
/*
let gravityScale = 0.5, velocityLimit;
let accel = {x: this.physicsObj.body.velocity.x, y: this.physicsObj.body.velocity.y};
let dist, angle;
let vel;
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);
console.log('#' + this.physicsObj.body.velocity.x);
dist = Phaser.Math.Distance.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
angle = Phaser.Math.Angle.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
velocityLimit = dist + 10;
//accel.x += gravityScale * Math.cos(angle);
//accel.y += gravityScale * Math.sin(angle);
vel = Phaser.Math.Distance.Between(accel.x,accel.y,0,0);
if(vel > velocityLimit)
{
accel.x *= velocityLimit / vel;
accel.y *= velocityLimit / vel;
}
this.physicsObj.setVelocity(accel.x, accel.y);
this.wordObj.setPosition(this.physicsObj.x, this.physicsObj.y);
*/
}
isEqualObject(_generationCode) { return _generationCode === this.generationCode; }
......
......@@ -33,8 +33,8 @@ WordSpace.getSpawnPoint = function(_lenRate)
{
let lenRate = 1;
if(typeof _lenRate == 'number') lenRate = _lenRate;
let xLen = 600 * lenRate;
let yLen = 300 * lenRate;
let xLen = 550 * lenRate;
let yLen = 350 * lenRate;
const angle = Math.random() * Math.PI * 2;
let _x = xLen * Math.cos(angle) + this.gravityPoint.x;
let _y = yLen * Math.sin(angle) + this.gravityPoint.y;
......
......@@ -25,7 +25,7 @@ socket.on('idSet', function(msg) // {str, num}
});
//test
window.addEventListener("message", function(event)
/*window.addEventListener("message", function(event)
{
var sub = 0;
if(event.data == "tick"){
......@@ -122,3 +122,4 @@ window.addEventListener("message", function(event)
}
});
})(this);
*/
\ No newline at end of file
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