为你摘星辰

欢迎来到程序小院

为你摘星辰

玩法:鼠标控制人物方向,点击鼠标键上升人物,经过⭐️⭐️吃掉获得分数,共三次生命,碰到红色障碍物减去一次生命,
人物掉落底部游戏结束,看你获得多少分^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/201

为你摘星辰_第1张图片

html

  
  
  
  
  
  
  
  
  

css

*{
 padding: 0;
 margin: 0;
 border: none;
 user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: 
    none;
 box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; 
  -ms-box-sizing: border-box;
}
canvas{
 margin: 0 auto;
}

js

(function(){
 "use strict";
  var _loadFile = Phaser.Loader.prototype.loadFile;

 Phaser.Loader.prototype.loadFile = function(file){
  //var file = this._fileList[this._fileIndex];
  this.onFileStart.dispatch(this.progress, file.key, file.url);
  
  if(file.type == "font"){
   this.fontLoad(file, file.key, 'text', 'fileComplete', 'fileError');
   return;
  }
  
  if(file.type != "script"){
   _loadFile.call(this, file);
   return;
  }
  
  file.type = "unknown";
  this.scriptLoad(file, this.baseURL + file.url, 'text', 'fileComplete', 'fileError');
 };

 Phaser.Loader.prototype.scriptLoad = function (index, url, type, onload, onerror) {
  var script = document.createElement("script");
  script.src = url;
  var _this = this;
  script.onload = function(){
   window.setTimeout(function(){
    _this[onload](index);
   }, 0);
  };
  script.onerror = function(){
   return _this[onerror](index);
  };
  document.body.appendChild(script);
 };
 // end script loader
 
 // fix align by wordWrapWidth
 Phaser.Text.prototype.updateText = function () {
  if(!this || !this.texture){
   return;
  }
  this.texture.baseTexture.resolution = this.resolution;

  this.context.font = this.style.font;

  var outputText = this.text;

  if (this.style.wordWrap) {
   outputText = this.runWordWrap(this.text);
   maxLineWidth = this.wordWrapWidth;
  }

  //split text into lines
  var lines = outputText.split(/(?:\r\n|\r|\n)/);

  //calculate text width
  var lineWidths = [];
  var maxLineWidth = 0;
  var fontProperties = this.determineFontProperties(this.style.font);

  for (var i = 0; i < lines.length; i++)
  {
   var lineWidth = this.context.measureText(lines[i]).width;
   lineWidths[i] = lineWidth;
   maxLineWidth = Math.max(maxLineWidth, lineWidth);
  }

  var width = maxLineWidth + this.style.strokeThickness;

  this.canvas.width = (width + this.context.lineWidth) * this.resolution;

  //calculate text height
  var lineHeight = fontProperties.fontSize + this.style.strokeThickness;

  var height = lineHeight * lines.length + this.style.shadowOffsetY;

  this.canvas.height = height * this.resolution;

  this.context.scale(this.resolution, this.resolution);

  if (navigator.isCocoonJS)
  {
   this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
  }

  this.context.fillStyle = this.style.fill;
  this.context.font = this.style.font;
  this.context.strokeStyle = this.style.stroke;
  this.context.textBaseline = 'alphabetic';
  this.context.shadowOffsetX = this.style.shadowOffsetX;
  this.context.shadowOffsetY = this.style.shadowOffsetY;
  this.context.shadowColor = this.style.shadowColor;
  this.context.shadowBlur = this.style.shadowBlur;
  this.context.lineWidth = this.style.strokeThickness;
  this.context.lineCap = 'round';
  this.context.lineJoin = 'round';

  var linePositionX;
  var linePositionY;

  this._charCount = 0;

  //draw lines line by line
  for (i = 0; i < lines.length; i++)
  {
   linePositionX = this.style.strokeThickness / 2;
   linePositionY = (this.style.strokeThickness / 2 + i * lineHeight) + fontProperties.ascent;

   if (this.style.align === 'right')
   {
    linePositionX += maxLineWidth - lineWidths[i];
   }
   else if (this.style.align === 'center')
   {
    linePositionX += (maxLineWidth - lineWidths[i]) / 2;
   }

   linePositionY += this._lineSpacing;

   if (this.colors.length > 0)
   {
    this.updateLine(lines[i], linePositionX, linePositionY);
   }
   else
   {
    if (this.style.stroke && this.style.strokeThickness)
    {
     this.context.strokeText(lines[i], linePositionX, linePositionY);
    }

    if (this.style.fill)
    {
     this.context.fillText(lines[i], linePositionX, linePositionY);
    }
   }
  }

  this.updateTexture();
 };
 // add scaleX/Y and anchorX/Y - so we can skip extra tweens
 Object.defineProperty(PIXI.Sprite.prototype, "scaleX", {
  set: function(val){
   this.scale.x = val;
  },
  get: function(){
   return this.scale.x;
  }
 });

 Object.defineProperty(PIXI.Sprite.prototype, "scaleY", {
  set: function(val){
   this.scale.y = val;
  },
  get: function(){
   return this.scale.y;
  }
 });

 Object.defineProperty(PIXI.Sprite.prototype, "anchorX", {
  set: function(val){
   this.anchor.x = val;
  },
  get: function(){
   return this.anchor.x;
  }
 });

 Object.defineProperty(PIXI.Sprite.prototype, "anchorY", {
  set: function(val){
   this.anchor.y = val;
  },
  get: function(){
   return this.anchor.y;
  }
 });

 Object.defineProperty(Phaser.Group.prototype, "scaleX", {
  set: function(val){
   this.scale.x = val;
  },
  get: function(){
   return this.scale.x;
  }
 });

 Object.defineProperty(Phaser.Group.prototype, "scaleY", {
  set: function(val){
   this.scale.y = val;
  },
  get: function(){
   return this.scale.y;
  }
 });

源码icon-default.png?t=N7T8https://www.ormcc.com/

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

为你摘星辰_第2张图片

你可能感兴趣的:(H5小游戏,javascript,前端,开发语言,游戏,html)