Advertisement
tempneff

Egg drag

Jul 9th, 2020
1,034
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 3.38 KB | None | 0 0
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8" />
  5.     <title>test</title>
  6.     <script src="//cdn.jsdelivr.net/npm/phaser@3.23.0/dist/phaser.js"></script>
  7.     <style type="text/css">
  8.         body {
  9.             margin: 0;
  10.         }
  11.     </style>
  12. </head>
  13. <body>
  14.  
  15. <script type="text/javascript">
  16.  
  17.     /*This program simulates freefall for measurement of gravitational constant.  It operates on 3 different
  18.     scale with a reference image*/
  19.    
  20. //define game configuration (basically standard Phaser game template)
  21. var config = {
  22.     type: Phaser.AUTO,
  23.     backgroundColor: '#363742',
  24.     scale:{
  25.     mode: Phaser.Scale.FIT,
  26.     autoCenter: Phaser.Scale.CENTER_BOTH,
  27.     width: 800,
  28.     height: 600,
  29.     },
  30.  
  31.     parent: 'phaser-example',
  32.  
  33.     scene: {
  34.         preload: preload,
  35.         create: create,
  36.         physics: {
  37.             arcade: {
  38.                 debug: false,
  39.                 gravity: { y: 0, x:0 }
  40.             },
  41.             matter: {
  42.                 debug: false,
  43.                 gravity: { y: 0, x:0 }
  44.             }
  45.         }
  46.     }
  47. };
  48.  
  49. // declare global variables
  50. var game = new Phaser.Game(config); //this
  51. var egg;
  52. var carton;
  53. var egg_m;
  54. var carton_m;
  55.  
  56.  
  57.     //loading assets
  58. function preload ()
  59. {
  60.     this.load.image('egg', 'assets/egg.png');
  61.     this.load.image('carton', 'assets/carton.png');
  62.  
  63. }
  64.  
  65. function create ()
  66. {  
  67.     resetText = this.add.text(500, 500, "RESET ALL").setTint(0x33b5e5).setDepth(41).setInteractive();
  68.     resetText.on('pointerover',function(pointer){resetText.setTint(0xf3abc5)},this);
  69.     resetText.on('pointerout',function(pointer){resetText.setTint(0x33b5e5)},this);
  70.     resetText.on('pointerdown',function(pointer){reset(this)},this);
  71.     this.add.text(125, 550, "Arcade Physics").setTint(0x33b5e5)
  72.     this.add.text(330, 550, "Matter Physics").setTint(0x33b5e5)
  73.     //this.add.text(600, 600, "Matter Physics").setTint(0x33b5e5)
  74. ///////////// Game objects forArcade Physics //////////
  75.     carton = this.physics.add.image(200,500,'carton').setScale(.15);
  76.     carton.setInteractive();
  77.     carton.on('pointerover',function(pointer){if(egg.visible==false){egg.x = pointer.x;egg.y=pointer.y}},this);
  78.    
  79.     egg = this.physics.add.sprite(200,300 , 'egg').setScale(.20).setInteractive();
  80.     this.input.setDraggable(egg);
  81.    
  82.     this.input.on('drag', function (pointer, gameObject, dragX, dragY) {
  83.  
  84.         gameObject.x = dragX;
  85.         gameObject.y = dragY;
  86.  
  87.     });
  88.     carton.on('pointerdown',function(pointer){if(egg.visible==false){egg.x = pointer.x;egg.y=pointer.y;egg.setVisible(true)}},this);
  89.  
  90. ///////////// Game objects forArcade Physics //////////
  91.     egg_m = this.matter.add.image(400,300 , 'egg').setScale(.20).setInteractive().setFixedRotation(true);
  92.     carton_m = this.matter.add.image(400,500,'carton').setScale(.15).setStatic(true).setInteractive();
  93.     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);
  94.    
  95.      //adds interactive mouse pointer
  96.     mouser = this.matter.add.mouseSpring({ length: 1, stiffness: 0.6});
  97. }
  98.    
  99. //tied to RESET text button  
  100. function reset(scope){
  101.     //resets egg starting postion, enables uncracked egg image, allows it to float
  102.     egg.setVisible(false);  
  103.     egg_m.setVisible(false);
  104. }
  105.  
  106. //phaser function runs 20xms  
  107.  
  108.  
  109. </script>
  110.  
  111. </body>
  112. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement