Commit b0014b67 authored by 18신대성's avatar 18신대성

단어끼리 충돌, 단어들이 가운데로 모임

parent 7e015638
......@@ -4,6 +4,7 @@
<meta charset="utf-8"/>
<script src="script/phaser.js"></script>
<script src="script/Background.js"></script>
<script src="script/WordSpace.js"></script>
<script src="script/Word.js"></script>
</head>
<body>
......
......@@ -7,7 +7,18 @@ class Word
generate(scene)
{
scene.add.text(400,300, this.wordText, {fontFamily: '"궁서", 궁서체, serif'}).setBackgroundColor('#FF00FF');
var randomX = Phaser.Math.Between(100, 500);
this.physicsObj = scene.physics.add.sprite(randomX, 100, 'wordBackground').setScale(0.5);
this.wordObj = scene.add.text(randomX, 100, this.wordText, {fontFamily: '"궁서", 궁서체, serif'}).setColor('#000000');
this.wordObj.setOrigin(0.5,0.5);
}
attract(wordSpeed)
{
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);
this.physicsObj.setVelocity(dist * Math.cos(angle) * wordSpeed, dist * Math.sin(angle) * wordSpeed);
this.wordObj.setPosition(this.physicsObj.x, this.physicsObj.y);
}
}
......
var WordSpace = WordSpace || {};
WordSpace.isImageLoaded = false;
WordSpace.wordGroup = null;
WordSpace.wordPhysicsGroup = null;
WordSpace.gravityPoint = {x: 400, y: 300};
WordSpace.loadImage = function(scene)
{
if (!this.isImageLoaded)
{
scene.load.image('wordBackground', 'assets/wordBackground.png');
}
}
\ No newline at end of file
......@@ -18,20 +18,42 @@ var config = {
var game = new Phaser.Game(config);
var tec;
// load assets
function preload()
{
BackGround.loadImage(this);
WordSpace.loadImage(this);
}
function create()
{
BackGround.drawBrain(this);
var word = new Word('살려주세요');
word.generate(this);
WordSpace.wordGroup = [];
WordSpace.wordPhysicsGroup = this.physics.add.group();
this.time.addEvent(
{
delay: 2000,
callback: function()
{
word = new Word("솽젠커");
word.generate(this);
WordSpace.wordGroup.push(word);
this.physics.add.collider(word.physicsObj, WordSpace.wordPhysicsGroup);
WordSpace.wordPhysicsGroup.add(word.physicsObj);
},
callbackScope: this,
repeat: 10
}
);
}
function update()
{
for(i = 0; i < WordSpace.wordGroup.length; i++)
{
WordSpace.wordGroup[i].attract(0.5);
}
}
\ 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