
游戏
布袋的世界
布袋的世界...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SPRITEKIT游戏框架之关于PHYSICS物理引擎属性
Spritekit提供了一个默认的物理模拟系统,用来模拟真实物理世界,可以使得编程者将注意力从力学碰撞和重力模拟的计算中解放出来,通过简单地代码来实现物理碰撞的模拟,而将注意力集中在更需要花费精力的地方。现在,让我们来学习这个系统的使用吧。首先需要认识两个类,一个是场景scene的属性类SKPhysicsWorld,这个类基于场景,只能被修改但是不能被创建,这个类负责提供重力和检查碰撞(碰撞需...原创 2018-07-08 20:20:48 · 353 阅读 · 0 评论 -
PHASERJS3 应用对象池随机产生炸弹并销毁 -- JavaScript Html5 游戏开发
scene.js/// <reference path="../../libs/phaser/phaser.min.js"/> 'use strict';var BootScene = new Phaser.Class({ Extends: Phaser.Scene, initialize: function BootScene() { ...原创 2018-11-09 16:05:19 · 711 阅读 · 0 评论 -
Phaser3 屏幕适配iPhoneX、iPhoneXS的坑 -- JavaScript Html5 游戏开发
巨坑:在config内不要把 width 设为 window.innnerWidth在config内不要把 width 设为 window.innnerWidth在config内不要把 width 设为 window.innnerWidth重要的事情得说三遍…var game;// once the window loads...window.onload = function (...原创 2018-11-07 11:45:00 · 2704 阅读 · 0 评论 -
Phaser3 场景Scene之间的传值 -- HTML JAVASCIRPT 网页游戏开发
一、首先当然得有至少有二个场景sceneA.js,sceneB.js二、从场景A传值到场景B二种方法1)通过事件this.events.emit(‘event key’,{objKey:objValue});从sceneA通过 ths.events.emit时传值到sceneB时有个需要特别注的事项就是,得把sceneB的 active设为 ture,否则因为 sceneB还未激活,是监听...原创 2018-11-08 15:32:36 · 1820 阅读 · 0 评论 -
Phaser3游戏三角学应用--一只跟随屏幕点击位置游动的鱼
资源图:代码var config = { type: Phaser.AUTO, parent: 'iFiero', // game id; html中为 <div id="iFiero"></div> width: 500, height: 380, scene: { preload: preload, ...原创 2018-11-15 13:15:59 · 989 阅读 · 0 评论 -
PHASER3 设置场景SCENE SLEEPING休眠和WAKE唤醒
A good way to set scene stop when hidden and run while visible again !使用sleep和wake方法的好处:1.可以彻底让scene场景彻底休眠2.update function不会再运行3.同时会暂停场景内的Timer事件GameScene.js代码// phaser version 3.15.0// 监听是否当前...原创 2018-11-20 18:00:22 · 1046 阅读 · 0 评论 -
用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架
EC6 自定义classclass Brain extends Phaser.GameObjects.Sprite { constructor (scene, x, y) { super(scene, x, y); this.setTexture('brain'); this.setPosition(x, y); }...原创 2018-12-04 16:12:43 · 536 阅读 · 0 评论 -
Phaser3让超级玛丽实现轻跳、高跳及加上对应的跳跃声音
在线测试地址:http://www.ifiero.com/uploads/phaserjs3/jumper/空格键:轻按:跳低 ,长按:跳高键盘:–> 向右 , <-- 向左请确保已打开电脑的音乐开关var config = { type: Phaser.AUTO, width: 650, height: 450, parent: "ifie...原创 2018-12-03 10:55:34 · 1803 阅读 · 0 评论 -
Phaser3跟随自定义路径移动的赛车 -- iFIERO游戏教程
在线预览:http://www.ifiero.com/uploads/phaser/pathrotate/代码:var config = { type: Phaser.AUTO, width: 720, height: 520, backgroundColor: '#2d2d2d', parent: 'phaser-example', scen...原创 2018-12-07 17:24:48 · 1061 阅读 · 0 评论 -
Phaser Matter Collision Plugin 碰撞插件 -- iFiero技术分享
Phaser 自带的Arcade虽然易用,但复杂的物理碰撞明显就不够用了,于是Matter等物理引擎还是不得不学的,以下是Matter物理体碰撞的一个插件,它省去了我们判别两个物理体相撞后哪个是gameObjectA和gameObjectB,实在是好用又省心,特推荐如下:引入插件:const config = { // ... physics: { default: "mat...原创 2018-12-13 14:17:00 · 887 阅读 · 0 评论 -
适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
此篇文章是对上一篇文章(http://www.ifiero.com/index.php/archives/611)的进一步补充,主要说明如何适配Apple的最新三款手机iPhoneXs、iPhoneXs Max及iPhoneXr !!!回顾:为何要把场景中的所有图片, 都按照屏幕大小为 2048 * 1536 来绘制。 也就是说, 我们的背景图的大小是 2048 * 1536, 其他图片也是...原创 2018-09-26 22:57:20 · 32340 阅读 · 0 评论 -
GameplayKit的GKStateMachine用法与实例
玩家进入GameScene场景中 -> 通过GKStateMachine进入到指定的游戏状态GKState在GameScene场景中 -> 根据不同的逻辑调用GKStateMachine -> 在各个不同的游戏状态GKState之间进行切换源码如下:一、GameScene.swftimport SpriteKitimport GameplayKitclass Ga...原创 2018-10-11 12:25:56 · 623 阅读 · 0 评论 -
Swift使用AVAudioPlayer来调节游戏的背景音乐大小
音乐文件的声音大小有时在做为游戏背景音乐时会过大,而如果我们只是简单应用SKAudioNode来加载音乐的话,是无法进行声音大小的调节的,因此我们必须使用更强大的AVAudioPlayer来进行声音大小的调节。具体实现代码如下: import AVFoundation class GameScene: SKScene,SKPhysicsContactDelegate { priva...原创 2018-09-17 14:21:09 · 866 阅读 · 0 评论 -
(三)宇宙大战 Space Battle -- 场景SCENE切换、UserDefaults统计分数、Particle粒子效果
此《宇宙大战 Space Battle》SpirteKit手机游戏教程共分为三系列:(一)宇宙大战 Space Battle -- 新建场景Scene、精灵节点、Particle粒子及背景音乐(二)宇宙大战 Space Battle -- 无限循环背景Endless、SpriteKit物理碰撞、CoreMotion加速计(三)宇宙大战 Space Battle — 场景SCENE切换、UserDe...原创 2018-07-07 18:25:48 · 453 阅读 · 0 评论 -
运用GamePlayKit的GKEntity及GKComponent 的iOS游戏开发实例
GameplayKit是一个面向对象的框架,为构建游戏提供基础工具和技术。 GameplayKit包含用于设计具有功能性,可重用架构的游戏的工具,以及用于构建和增强诸如角色移动和对手行为的游戏玩法特征的技术。我们这里主要讲GKEntity和GKComponent这二个类; GKEntity类(实体): 可以容纳很多组件的容器,根据自己的需求来加入相应的Component组件。 ...原创 2018-07-29 14:02:06 · 476 阅读 · 0 评论 -
SpirteKit深度复制SKSpriteNode节点及convert转换其它Scene上的节点到当前场景坐标
Playground输出的代码 ,注意右侧打印出的SpriteNode输出值,HAPPY_NODE的输出信息一致.//MARK:- 扩展SkSpriteNode属性extension SKSpriteNode { func copyWithPhysicsBody()-&gt;SKSpriteNode{ let spriteNode = self.copy() as...原创 2018-07-22 16:49:15 · 434 阅读 · 0 评论 -
SpriteKit手机游戏摇杆JoyStick的使用 -- by iFIERO游戏开发教程
工欲善其事,必先利其器有时候学习如何应用第三方库是非常重要的,因为我们不用再自己重复造轮子,在这里,我们就把原先利用重力感应来操控飞机改为用游戏摇杆joystick来操控,具体的操作如下: // 声明游戏摇杆; private var joystick:AnalogJoystick! // 游戏摇杆; 创建函数,新建游戏摇杆节点,并添加到GameScene中...原创 2018-07-27 13:35:22 · 1501 阅读 · 2 评论 -
SpriteKit在复制节点时留了一个巨坑给开发者,需要开发者手动把复制节点的isPaused设置为false
根据When an overlay node with actions is copied there is currently a SpriteKit bug where the node’s isPaused property might be set to true提示,SpriteKit有一个Bug需要开发者自己来填。SpriteNode节点在被copy()复制后,会自动被设置为暂停,...原创 2018-08-04 12:54:44 · 566 阅读 · 0 评论 -
应用UserDefaults储存游戏分数和最高分 - by iFIERO.com
应用UserDefaults储存游戏分数和最高分我们在GameScene.swift里 private var currentScore:SKLabelNode! // 当前分数节点 private var cScore:Int = 0 /// Int 存当前分数 private var highScore:SKLabelNode! // 最高分数 private var...原创 2018-08-24 11:22:45 · 396 阅读 · 0 评论 -
一步一步图文介绍SpriteKit使用TexturePacker导出的纹理集Altas
1、为什么要使用纹理集?游戏是一种很耗费资源的应用,特别是在移动设备中的游戏,性能优化是非常重要的纹理集是将多张小图合成一张大图,使用纹理集有以下优点:1、减少内存占用,减少磁盘占用;2、减少磁盘读取次数,一次性读取一张大图比多次读取多张小图速度更快 一张大图:打开-读取小图-读取小图-读取小图-关闭; 多张小图:打开-关闭,打开-关闭,打开-关闭,打开-关闭;3、减少Op...原创 2018-08-21 16:16:16 · 670 阅读 · 0 评论 -
轻量级游戏框架Javascript之Create.js创建形体 + P2.js创建物理体
HTML<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>P2 Physics World</title></head><body>原创 2018-09-08 18:59:07 · 888 阅读 · 0 评论 -
学好三角学(函数) — SWIFT和JAVASCRIPT游戏开发的必备技能 iFIERO.com
不论是使用哪种平台进行开发,三角学在游戏当中都被广泛的使用,因此,小编iFERO认为,三角学是必须得掌握的技能之一。先以Javascript为例一、角度与弧度最直观地说,一个 60度 的角,可以用 60°来表示,也可以用 π / 3 (圆周率除以3)来表示;同理,一个 90度 的角,可以用 90°来表示,也可以用 π / 2 (圆周率除以2)来表示;还有,一个 180度 的...原创 2018-09-06 17:02:44 · 279 阅读 · 0 评论 -
Phaser游戏框架与HTML Dom元素之间的通信交互
本想按照PHASER的HTML Dom元素官方实例:http://labs.phaser.io/index.html?dir=game objects/dom element/&q= 来创建HTML DOM元素,但this.add.dom 一直提示错误,无奈直接用HTML5的语法来创建DOM元素,然后在Phaser内获取该DOM元素,也不用再使用第三方的Phaser Html Input插...原创 2018-12-29 11:36:49 · 692 阅读 · 0 评论