- 博客(29)
- 收藏
- 关注
原创 Joystick Pack使用
下载与导入Joystick Pack资源地址:https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631或者在Unity Assets Store中搜索关键字 Joystick. 创建如下图的对象 添加组件为imgJoystick添加组件: VariableJoystick...
2019-08-09 04:01:49
1729
原创 异步加载场景
当场景过大时, 应使用异步加载场景的方式当有加载场景(没有内容, 给玩家等待的时显得更加友好), 游戏场景使用异步加载方式, 当游戏场景加载完成之后再切换场景using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;p...
2019-08-05 03:57:10
308
原创 Tilemap 2D中坐标转换
Tilemap与世界坐标, 屏幕坐标之间的转换using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Tilemaps;public class GameController : MonoBehaviour{ public Grid grid...
2019-08-05 03:54:15
3635
原创 Unity2D镜头跟随
最简单的跟随. 将摄像机挂载到主角人物上即可.FollowTarget脚本 在Unity AssetStore 搜索 Standard, 该资源为免费资源; 下载并导入 Standard Assets/Unity/FollowTarget脚本添加到摄像机 将主角主物拖到FollowTarget脚本组件中的Target属性.SmoothFollow脚...
2019-07-31 23:09:53
2917
原创 栈与递归
#include #include #include #include intfibonacci_recursion(int a){// 斐波那契 递归实现 if (a <= 2) { return 1; } return fibonacci_recursion(a - 1) + fibonacci_recursion(a - 2);}intfibonacci_
2016-05-18 16:01:24
343
原创 C++ Primer Plus(第6版)的技术点(2)
1, 内联方法定义位于类声明中的函数都将自动成为内联函数.2, 类中的常量类中的常量(const成员)不能在声明中给出定义, 每个对象所拥有的常对象是不一样的, 而const成员变量只能在初始化时完成, 也就是在构造函数中完成.3, 运算符重载限制:= 赋值运算符, ()括号运算符, []下标运算符, ->指针访问运算符 这些运算符只能通
2015-01-17 12:59:45
326
原创 C++ primer plus (第6版)里的技术点(1)
1, 结构的初始化:struct fish{ int type; double weight; double length;};typedef struct { int type; double w; double h;} cat;int main(int argc, std::string argv[]){ fish f = { 1, 8.0, 10.
2015-01-16 21:48:41
397
原创 UNIX网络编程I-03
大多数套接字函数都需要一个指向套接字地址结构的指针作为参数。 struct in_addr { in_addr_t s_addr; } struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr;
2014-12-25 14:18:56
465
原创 UNIX网络编程I-02传输层
UDP: 应用进程往一个UDP套接字写入一个消息, 该消息随后被封装到一个UDP数据报, 该UDP数据报进而又被封装到一个IP数据报, 然后发送到目的地。TCP: TCP含有用于动态估算客户和服务器之间的往返时间的算法(round-trip time, RTT),以便它知道等待一个确认需要多少时间。 TCP通过给其中每个字节关联一个序列号对所发送的数据进行排序。 TCP
2014-12-24 10:53:22
395
原创 UNIX网络编程I-01简介
重点: 服务进程使用TCP通信,TCP又转而使用IP通信, IP再通过某种形式的数据链路层通信。 客户与服务器之间的信息流在其中一端是向下通过协议栈的, 跨越网络之后, 在另一端是向上通过协议栈的。 另外, 客户和服务器通常是用户进程, 而TCP和IP协议通常是内核中协议的一部分。(表示应用程序本身并不关心系统是如何进行通信处理的) 例: 客户端: #include
2014-12-23 21:04:26
339
原创 数据库设计三范式
第一范式: 将每个表中具有相似类型的数据放入不同的表, 并给每个表确定一个主关键字.第二范式:找出只依赖于主关键字的部分数据.第三范式:找出表中不只是依赖于主关键字的数据.
2014-12-02 15:42:24
302
转载 BOOST VS2010编译安装
1.去www.boost.org下载最新的boost,我下载了boost_1_46_1.7z2.(我放在D:/cpp目录下)解压到当前文件夹3.打开VS2010->VS TOOLS->VS命令提示4.CD D:/cpp/boost_1_46_1 5.输入bootstrap,便生成bjam.exe文件6.输入bjam toolset=msvc-10.0 variant=debug
2014-07-02 21:40:05
357
原创 TCP大文件传输
服务端:#pragma comment(lib, "iegadCommon.lib")#include "iegadNet.h"#include #include int main(){ Socket::InitSockVersion(); EndPoint currentEP; currentEP.SetIpAddress(Socket::GetLocalIpAddr
2014-04-22 15:11:50
565
原创 文件操作
通过C++标准 流处理二进制文件:简单的文件复制:#include #include int main(){ std::ofstream fout("C:\\Users\\Administrator\\Desktop\\1.pdf", std::ios_base::out | std::ios_base::binary); std::ifstream fin("D:\\学习
2014-02-23 18:34:53
395
原创 二叉树
二叉数的遍历:void PreOrder(const TreeNode * tn){//先序遍历 : DLR .递归 if (tn) { GetValue(tn); PreOrder(tn->left); PreOrder(tn->right); }}void PreOrderStack(TreeNode * tn){//先序遍历 : 栈 stack s; wh
2014-02-05 19:23:18
1565
原创 查找算法
二分查找:int BinSearch(const int Array[], int len/*数组长度*/, int key/*要找元素*/){//二分查找 //采用分治的方法来查找,但是这个数组必需是有序的, 这个例子是升序排列 int left; //当前查找长度中,最左边的下标 int right; //当前查找长度中,最右边的下标, right是超尾的下标 in
2014-02-05 00:43:43
415
原创 工厂(方法)模式->自定义版本
#include #include class MyBase{//基类->抽象类public: virtual void Fun() = 0; virtual ~MyBase() {} //要做为基类的类,最好提供一个虚析构函数protected: MyBase() {}};class MyA : public MyBase{//派生类Apublic: virtu
2014-01-31 00:18:31
393
原创 shell语法-函数
函数要先定义, 才能使用例:#!/bin/shfun(){ echo "In func!!!"}echo "script start..."fun #函数调用时不用加括号echo "script end!!!"exit 0函数参数:当一个函数被调用时, 脚本程序的位置参数($*, $@, $#, $1, $2等)会被替换为函数的参数,当函数执行完毕后,
2014-01-28 16:07:16
471
原创 shell语法-流程控制
test或[命令例:if test -f fred.c #if [ -f fred.c ]两个完全等价then...fi这个命令是判断fred.c文件存不存在, 使用 [ 的时候要注意, 后面要留个空格。test命令可以使用的条件类型归为三类:字符串比较string1=string2 //两个字符串相同为真string1!=string2 //两个字符串不相同
2014-01-27 20:51:27
457
原创 数据的存储结构
简单的顺序存储节构templateclass MyList{//顺序存储结构private: int m_length; //数组长度 int m_Max; //数组最大上限 T * m_element; //元素public: MyList(int max = 10) {//构造函数 m_length = 0; m_Max = max; m_element
2014-01-27 20:01:07
441
原创 shell语法-变量
变量:1, 使用变量前不需要先声明, 通过使用它们来创建它们2, 默认情况下, 所有变量被看作字符串并以字符串来存储, 即使它们被赋值为为数值时也是这样 shell和一些工具程序会在需要时把数值型字符串转换为对应的数值以对它们进行操作3, linux对大小写敏感 foo不同于Foo4, 通过$符号来访问变量的内容, 赋值时只需要使用变量名。5, 如果字符串中
2014-01-27 16:52:27
444
原创 管道和重定向
重定向输出:$ ls -l > 1.txt这条命令, 把本应该在标准输出(文件描述符为1)设备上显示的内容重定向到了"1.txt"文件中, 而在标准输出中不会有任务显示如果当前目录下, 1.txt文件存在, 则新内容会覆盖1.txt里的所有内容.不存在则会在当前目录中新建一个1.txt$ls -l >>2.txt这条命令中使用了>>而不是>代表, 这是往2.txt中追回
2014-01-27 14:41:36
436
原创 静态库与动态库
Linux下静态库(.a)的例子:MyLib.h:位于Include文件夹下:#ifndef MYLIB_H_#define MYLIB_H_int Add(int a, int b);#endifMyLib.cpp:位于Lib文件夹中#include "MyLib.h"int Add(int a, int b){ return a + b;}现在要编译生成
2014-01-25 23:55:58
499
原创 排序算法
首先是冒泡:void BubleSort(int arr[], int len){//冒泡排序, 最古老的排序, 效率最低的排序 //思想 : 通过比较相临的元素, 如果前一个元素大于后一个元素, 就交换它们 //这样每次就把当前比较中的元素, 最大的元素放到最后, 达到排序的目的 for (int i = 0; i < len - 1; i++) {//外层循环次数为数
2014-01-24 14:38:00
448
原创 进程间通信
windows 平台下进程间的通信:1, 剪贴板2, 匿名管道3, 命名管道4, 邮槽剪贴板: 是系统维所管理的一块内存区域, 当在一个进程中复制数据时, 是将这个数据族到该块内存区域中, 当在另一个进程中粘贴数据时, 是从该块内存区域中取出数据, 然示在窗口上.下面是一个简单的MFC例子(字符集改为:多字符集)void Ctest07Dlg::OnBnClic
2014-01-22 11:56:08
454
原创 Socket编程(TCP)
服务端的建立:1, 加载SOCKET版本2, 创建socket3, 创建SOCKADDR_IN结构变量, 设置IP, 端口, 与地址族4, 绑定IP与端口5, 打开监听6, 接收客户端连接请求7, 开启通信.客户端的建立:1, 加载SOCKET版本2, 创建socket3, 创建SOCKADDR_IN结构变量, 设置IP, 端口, 与地址族4
2014-01-21 17:22:18
459
原创 线程同步
windows下的三种同步方式:1, 互斥对象2, 事件对象3, 临界区 互斥对象:属于内核对象, 它能够确保线程拥有对单个资源的互斥访问权.互斥对象包含一个使用数量, 一个线程ID和一个计数器.其中ID用于标识系统中的哪个线程当前拥有互斥对象, 计数器用于指明该线程拥有互斥对象的次数.1, 声明一个句柄, 用于存放互斥对象2, 创建一个互斥对象3, 在线程中得
2014-01-21 14:25:13
424
原创 获取当前系统时间
使用标准的库函数头文件中的time_t只能获得当前的秒数,要想友好的显示时间还必需要自己格式化一下输出.下面是windows下调用系统API的方式:1, 先声明一个SYSTEMTIME结构, 用来保存当前时间变量2, 调用GetLocalTime()函数填充SYSTEMTIME中的字段#include #include int main(){ SYSTEMTIME sys
2014-01-20 20:55:51
514
原创 多线程与临界区
windows下创建多线程: 一个简单的例子//winodws下多线程函数原型必需如下声明//DWORD unsigned long//WINAPI _stdcall//函数名可以用任何合法名称替换//LPVOID void *DWORD WINAPI ThreadProc(LPVOID lpParamter); int main(){//多线程例子
2014-01-19 12:03:05
687
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人