SunME的博客

宁静的风吹稻花香

状态模式在游戏开发中的应用

状态模式 在状态模式中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为模式。 我们通过创建一个对象来随着状态的改变而进行不同的行为。 意图 允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。主要用来解决:对象的行为依赖于它的状态,并且可以根据它的状态改变而改变它...

2019-01-18 14:14:07

阅读数 9430

评论数 1

命令模式在游戏开发中的应用

命令模式的描述: 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 意图: 将一个请求封装成一个对象,从而使您可以用不同的请...

2019-01-17 18:39:41

阅读数 9197

评论数 0

Unity GL函数库的简单使用

使用Unity GL库绘制图像 使用Unity自带的GL函数库在屏幕上绘制一些特殊的图形,如圆、线条、曲线、矩形等一些图形,并可以给绘制的图形指定相应的纹理。但是,使用GL绘制图形的纹理使用的Shader有一些限制,仅支持如下Shader: Particles->Ver...

2018-12-28 17:15:04

阅读数 70

评论数 0

图片的灰度处理(Unity Shader)

图片变灰处理 分享一个图片变灰处理的着色器 先看一下效果图吧: Shader "Unlit/Grey" { Properties { _MainTex ("Texture", 2D) ...

2018-11-23 11:46:45

阅读数 196

评论数 0

Unity 广告牌 (Billboard)的实现

实现一个广告牌的效果,使一个面片在摄像机旋转的过程中始终面向摄像机。实现效果如下截图。

2018-11-14 15:06:44

阅读数 240

评论数 0

对象池的创建和使用

对象池简介 对象池用来存储需要被大量创建和重复使用的对象,降低程序的IO访问,在合适的时间点创建和释放对象池,有助于提升程序整体性能。 以下创建了一个基本的对象池,实现创建多个池,从池中取对象,回收对象,以及回收回掉。 Demo截图如下: 工程目录: 创建对象池 void Start ()...

2018-11-13 14:50:30

阅读数 64

评论数 0

Unity 精简缓动动画脚本

实现了一个Dotween超精简版的脚本,核心均基于Unity MonoNehaviour.StartCoroutine方法实现,添加了Unity.Transform添加扩展方法,方便调用。包含动画过程中常用的基本的位移、缩放、旋转、淡入淡出、以及数值的动态变化。使用也非常简单。直接将Plugins...

2018-11-12 15:31:07

阅读数 101

评论数 0

Unity 场景切换的淡入淡出

分享一个场景淡入淡出的脚本文件,实现效果如下: 具体代码如下: using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using Unity...

2018-11-08 16:21:39

阅读数 121

评论数 0

Unity相关技术文章分享

2018-10-17 10:35:40

阅读数 100

评论数 0

Unity中实现ViewPage、ScrollSnap

之前分享过一片关于弹性滚动列表的文章: .借助了DoTween插件实现的,这次分享一个基于ScrollView的滑屏列表。移动原生平台应该称为ViewPage吧。先看一下预览。 (作者链接:Unity Forums) 完整代码如下: using System; us...

2018-09-06 11:33:38

阅读数 153

评论数 0

Unity 从UI中拖拽对象放置并拖动

需求:点击UI,在场景中生成3D对象,对象跟随鼠标移动,放置后可再次拖拽对象,改变其位置。做了一个小Demo,如下图所示: 实现大致思路: 射线碰撞检测 对象空间坐标变换(世界坐标->屏幕坐标、屏幕坐标->世界坐标) 首先为...

2018-07-31 15:49:04

阅读数 917

评论数 0

Unity DragonBone 动画遮罩与混合

项目中使用了DragonBones来做2D骨骼动画,分享一下有关动画遮罩和混合的注意点。 需求:场景中有一匹马,马背上有一个持红缨枪的武士,要求马一直处于奔跑的状态,马背上的人可以播放攻击、防御动画。由于版权原因,我这里使用白鹭官方的小白人做演示吧。 1.动画片段(人物奔跑) 2.动画片...

2018-07-23 17:37:39

阅读数 561

评论数 0

Unity中实现360度预览模型(修改版)

最近一直很多人私信问去年写的一篇:Unity中实现360°预览模型的文章,回看了一下去年写的文章,简直惨不忍睹,结构和思路都不太清晰,鉴于问的小伙伴有点多,这里重新写一下这篇文章,希望可以帮到大家。 一、实现方式 要实现模型的360°预览,主要有两种方式: 1. 旋转模型本身,通过改...

2018-07-17 10:56:09

阅读数 540

评论数 0

Python SQLite3 迭代器

需求: 遍历一个指定文件夹,将指定文件夹下的文件名称写入到数据库对应的列中,如果数据库行中的数据与文件的名字相同,则将对应的文件名写入匹配行的相对应的列中 数据库如下图: import os import sqlite3 conn=sqlite3.connect('...

2018-07-16 12:10:29

阅读数 133

评论数 0

python json编码及字符串的处理(间隔n个字符插入一个换行符)

使用Python处理json文件时,经常会遇到一些编码的问题。本次分享一下,python加载json文件,编码以及序列化。 1.需求:给定一个字符串,对字符串遍历,每隔16个字符插入一个换行符,具体实现代码如下: import json import re import sys imp...

2018-06-26 18:10:40

阅读数 928

评论数 0

生成随机不重复的数组

之分享过一个生成随机不重复数组的一个算法,感觉不太完善,有一点缺陷。这里重新分享一个新的。核心代码如下如下: using System; using System.Collections; using System.Collections.Generic; public class Rand...

2018-06-21 21:15:52

阅读数 296

评论数 0

Unity Shader 基础教程

Unity-Shader-基础教程 在Github上看到一篇关于Unity-Shader的教程,感觉还不错,作者写的很好,很适合Unity-Shader的基础入门,我在这里翻译一下,分享给大家,英文水平很烂,大致能明白Unity-Shader是什么,渲染管线的工作流程,以及Unity Shade...

2018-05-27 19:14:23

阅读数 5502

评论数 1

使用Python操作SQLite3数据库

Python中使用SQLite3数据库 由于Python标准中已经自带了SQLite3的库,直接导入就可以使用。要使用数据库,首先需要创建一个数据库,并连接它。在本地磁盘上创建一个本地数据库,代码如下: 1.创建数据库的连接对象和操作的游标 import sqlite3 #创建一个连...

2018-05-24 17:18:32

阅读数 617

评论数 0

OpenGL开发环境配置

最近在学OpenGl的知识,费了老半天力气,终于搭建好了开发环境,网络上的教程也是参差不全,这里分享一下搭建开发环境的心路历程。参考教程:(http://learnopengl-cn.readthedocs.io/zh/latest/) 首先展示一下使用OpenGL完成的第一个成果。 知识...

2018-04-10 16:57:38

阅读数 226

评论数 0

简单选择排序算法

简单选择排序算法 简单选择排序算法:即通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换。 排序过程如下所示: 具体实现算法如下: void SimpleSelectionSort(int *array,int arrayLength){ ...

2018-04-02 11:28:42

阅读数 597

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭