Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <title>test</title>
- <script src="//cdn.jsdelivr.net/npm/phaser@3.23.0/dist/phaser.js"></script>
- <style type="text/css">
- body {
- margin: 0;
- }
- </style>
- </head>
- <body>
- <script type="text/javascript">
- /*This program simulates freefall for measurement of gravitational constant. It operates on 3 different
- scale with a reference image*/
- //define game configuration (basically standard Phaser game template)
- var config = {
- type: Phaser.AUTO,
- backgroundColor: '#363742',
- scale:{
- mode: Phaser.Scale.FIT,
- autoCenter: Phaser.Scale.CENTER_BOTH,
- width: 800,
- height: 600,
- },
- parent: 'phaser-example',
- scene: {
- preload: preload,
- create: create,
- physics: {
- arcade: {
- debug: false,
- gravity: { y: 0, x:0 }
- },
- matter: {
- debug: false,
- gravity: { y: 0, x:0 }
- }
- }
- }
- };
- // declare global variables
- var game = new Phaser.Game(config); //this
- var egg;
- var carton;
- var egg_m;
- var carton_m;
- //loading assets
- function preload ()
- {
- this.load.image('egg', 'assets/egg.png');
- this.load.image('carton', 'assets/carton.png');
- }
- function create ()
- {
- resetText = this.add.text(500, 500, "RESET ALL").setTint(0x33b5e5).setDepth(41).setInteractive();
- resetText.on('pointerover',function(pointer){resetText.setTint(0xf3abc5)},this);
- resetText.on('pointerout',function(pointer){resetText.setTint(0x33b5e5)},this);
- resetText.on('pointerdown',function(pointer){reset(this)},this);
- this.add.text(125, 550, "Arcade Physics").setTint(0x33b5e5)
- this.add.text(330, 550, "Matter Physics").setTint(0x33b5e5)
- //this.add.text(600, 600, "Matter Physics").setTint(0x33b5e5)
- ///////////// Game objects forArcade Physics //////////
- carton = this.physics.add.image(200,500,'carton').setScale(.15);
- carton.setInteractive();
- carton.on('pointerover',function(pointer){if(egg.visible==false){egg.x = pointer.x;egg.y=pointer.y}},this);
- egg = this.physics.add.sprite(200,300 , 'egg').setScale(.20).setInteractive();
- this.input.setDraggable(egg);
- this.input.on('drag', function (pointer, gameObject, dragX, dragY) {
- gameObject.x = dragX;
- gameObject.y = dragY;
- });
- carton.on('pointerdown',function(pointer){if(egg.visible==false){egg.x = pointer.x;egg.y=pointer.y;egg.setVisible(true)}},this);
- ///////////// Game objects forArcade Physics //////////
- egg_m = this.matter.add.image(400,300 , 'egg').setScale(.20).setInteractive().setFixedRotation(true);
- carton_m = this.matter.add.image(400,500,'carton').setScale(.15).setStatic(true).setInteractive();
- carton_m.on('pointerdown',function(pointer){if(egg_m.visible==false){egg_m.x = pointer.x;egg_m.y=pointer.y;egg_m.setVisible(true);}},this);
- //adds interactive mouse pointer
- mouser = this.matter.add.mouseSpring({ length: 1, stiffness: 0.6});
- }
- //tied to RESET text button
- function reset(scope){
- //resets egg starting postion, enables uncracked egg image, allows it to float
- egg.setVisible(false);
- egg_m.setVisible(false);
- }
- //phaser function runs 20xms
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement