- 博客(50)
- 资源 (3)
- 收藏
- 关注
原创 Unity给一个Prefab添加子物体报错Setting the parent of a transform which resides in a Prefab Asset is disabled t
Unity给一个Prefab添加子物体报错Setting the parent of a transform which resides in a Prefab Asset is disabled t别修改预制体,实例预制体时不要直接修改预制体,实例时会返回一个实例对象,用这个对象去修改别修改预制体,实例预制体时不要直接修改预制体,实例时会返回一个实例对象,用这个对象去修改...
2021-12-10 11:40:40
2035
原创 Builder-建造者模式
设计模式之建造者模式Builder模式要解决的问题:当我们创建对象是一个很复杂的问题(通常是由很多其他的对象组合而成的),我们要这个复杂的对象一步一步创建,在创建时根据实际情况创建对象。使得经过相同的步骤创建的对象,所得到的对象展示也不一样。Product 类/* * @Descripttion: * @version: * @Author: aaron * @Date: 2021-11-21 19:30:38 * @LastEditors: aaron * @LastEditTim
2021-12-01 13:55:08
196
原创 设计模式-抽象工厂模式
抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。使用抽象工厂模式一般要满足以下条件。系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。系统一次只可能消费其中某一族产品,即同族的产品一起使用。抽象工厂模式除了具有工厂方法模式的优点外,其他主要优
2021-10-27 15:21:07
115
原创 设计模式-工厂模式
工厂模式写得比较垃圾,下次尽量写好点#ifndef _MONSTER_H_#define _MONSTER_H_#include<iostream>class CMonster{protected:public: virtual ~CMonster()=0; CMonster(); void setCry(std::string Cry); void setHight(int h); int getHight()const; std::string getCry(
2021-10-27 14:40:00
117
原创 C2243: “类型转换”: 从“CBearMonster *”到“CMonster *”的转换存在,但无法访问
错误 1 error C2243: “类型转换”: 从“CBearMonster *”到“CMonster *”的转换存在,但无法访问今天写设计模式的时候,私有继承父类(protected 也是),使用多态时遇到这个问题,将private或protected继承改为public 继承就会解决这个问题...
2021-10-27 11:52:32
116
原创 err LNK2019 无法解析的外部符号 “public: __thiscall Stack<int>::Stack<int>(void)“
err LNK2019 无法解析的外部符号 “public: __thiscall Stack::Stack(void)”我自己写一个模板栈。.h 与 cpp 分离,在main函数中使用时,遇到这个问题LNK2019 无法解析的外部符号 “public: __thiscall Stack::Stack(void)”我将这些定义移动到.h 文件中,修改了一下return 语句,因为这是返回模板类型,我返回了nullptr,类型不匹配,报的是其他错误,我用exit()代替异常退出后,重新运行了一下,运行成
2021-08-06 10:47:45
362
原创 事件处理机制
事件处理机制 很多图形用户技术中,事件处理机制一般都有三个重要的角色:事件、事件源、事件处理者。事件源是事件发生的场所,通常就是各个视图或控件,事件处理者是接收事件并对其进行处理的一段程序事件事件类是Event,类图如下 子类只要有EventTouch(触摸事件)、EventMouse(鼠标事件)、EventKeyboard(键盘事件)、EventAcceleration(加速度事件)、EventCustom(自定义事件)事件源事件源是cocos2d-x中的精灵、层、菜单等节
2021-07-23 16:09:03
1098
原创 动作、特效和动画
动作、特效和动画 动作包括基本动作和基本动作的组合,这些动作有缩放、移动、旋转等,而这些动作变化的速度也可以设定。动作类是Action,类图如下:Action有3个子类,FiniteTimeAction 是一种受时间限制的动作,Follow是一种允许精灵跟随另一个精灵的动作,Speed是在一个动作运行时改变其运动速率。 FiniteTimeAction 有两个子类,ActionInstant和ActionInterval,是两种不同风格的动作类。 ActionInstant:封装了一
2021-07-23 15:10:52
390
原创 cocos2d-x:精灵
精灵… 精灵优化:使用精灵表和缓存使用纹理图集1.读取一张照片比读取一堆文件要快2.减少OpenGL ES绘制调用并且加速渲染3.减少内存消耗使用精灵帧缓存1.纹理缓存2.精灵帧缓存3.动画缓存...
2021-07-21 19:26:34
163
1
原创 标签和菜单
使用标签 游戏场景中的文字包括静态文字和动态文字,静态文字是不可以通过程序改变的。 cocos2d-x标签主要有:LabelTTF、LabelAtlas、LabelBMFontLabelTTF使用系统中的字体,它是最简单的标签类,继承Node类。还实现了LabelProtocol接口 LabelAtlas类图,间接继承了Node类,具有Node的基本特性,继承AtlasNode ,实现了LabelProtocol接口。LabelAtlas是图片集标签。这种标签显示的文字是从一个图片集中取出
2021-07-21 18:54:37
145
原创 cocos游戏循环与坐标
游戏循环与调度 每一个游戏程序都有一个循环在不断运行,它是由导演对象来管理与维护。如果需要场景中的精灵运动起来,可以在游戏循环中使用计时器(scheduler)对精灵等对象的运行进行调度。因为Node类封装了Scheduler类,所以可以直接使用Node中调用函数。Node中调用函数(函数签名)函数作用void scheduleUpdate(void)每个Node对象只要调用该函数,那么这个node对象就会定时地每帧回调一次自己的update(float dt)函数voi
2021-07-21 17:53:14
354
1
原创 cocos2d基础概念
cocos核心概念 cocos2d-x中核心概念:导演,场景,层,节点,精灵,菜单,动作,效果,粒子运动,地图,物理引擎导演 导演类Director用于管理场景对象,采用单例模式,在整个工程中只有一个实例对象。 导演对象的职责如下: 1.访问和改变场景 2.访问Cocos2d-x的配置信息 3.暂停、继续和停止游戏 4.转换坐标场景 构成游戏的界面,类似于电影中的场景,场景大致可以分为: 1.展示类场景,播放视频或简单地图像上输出文字,来实现游戏的开
2021-07-21 14:32:44
1644
原创 2021-07-21
游戏平台引擎简介 游戏引擎是指一些已经编写好的游戏程序模块,游戏引擎包含以下子系统:渲染引擎,物理引擎,碰撞检测系统,音效,脚本引擎,电脑动画,人工智能,网络引擎以及场景管理。 目前移动平台游戏的引擎有cocos2d-iphone,cocos2d-x,coroona sdk,construct 2,wiengine,unity3d,unreal,development kit,shiva 3d,armalade创建一个cocos项目控制台输入cocos new 项目名 -p 包名 -l 语
2021-07-21 11:18:46
144
1
原创 预处理命令
#if, #ifdef, #ifndef, #else, #elif, #endif这些命令让编译器进行简单的逻辑控制. 当一个文件被编译时, 你可以使用这些命令使某些行保留或者是去处.#if expression如果表达式(expression)的值是"真"(true),那么紧随该命令的代码将会被编译.#ifdef macro如果"macro"已经在一个#define声明中定义了, 那么紧随该命令的代码将会被编译.#ifndef macro如果"macro"未在一个#define声明中
2021-07-21 10:20:10
169
原创 自学cocos2d-x---绪
cocos2d-x序章开始自己学cocos,教材:之所以写在优快云上,是想写个日志,又不想在保存在电脑上,因为比较麻烦,找起来找不到
2021-07-21 09:29:17
99
原创 _Direct3DCreate9@4,该符号在函数 “long __cdecl InitD3D(struct HWND__ *)“ (?InitD3D
error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 “long cdecl InitD3D(struct HWND *)” (?InitD3D
2021-07-15 14:22:19
153
原创 2021-07-11
严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号 __imp__timeGetTime@0,该符号在函数 “int __cdecl d3d::EnterMsgLoop(bool (__cdecl*)(float))” (?EnterMsgLoop@d3d@@YAHP6A_NM@Z@Z) 中被引用 Init E:\Direct3D\第一章 初始化\Init\Init\d3dUtility.obj 1解决办法:根据错误提示找到相应位置,然后加入以下这句话就可以了#p
2021-07-11 12:34:25
123
转载 2021-06-09
C++ 单定义规则变量只能有一次定义:定义声明(定义)、引用声明(声明)引用声明:关键字 extern不初始化(否则变为定义,分配内存)注意:一个文件定义后,其他文件中使用须用 extern转载自:https://www.cnblogs.com/suui90/p/12865450.html...
2021-06-09 09:46:47
71
原创 异常
报错严重性 代码 说明 项目 文件 行 禁止显示状态错误 C3861 “backtrack”: 找不到标识符 N皇后问题 d:\my document\algorithm\暴力递归\n皇后问题\n皇后问题\源.cpp 22 错误 C2065 “board”: 未声明的标识符 N皇后问题 d:\my document\algorithm\暴力递归\n皇后问题\n皇后问题\源.cpp 12 错误 C2275 “std::string”: 将此类型用作表达式非法 N皇后问题 d:\my document\
2021-05-19 21:48:39
431
2
原创 错误 LNK2019
严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号 “public: __thiscall GameModel::GameModel(void)” (??0GameModel@@QAE@XZ),该符号在函数 “void __cdecl initGame(void)” (?initGame@@YAXXZ) 中被引用 Project1 D:\My Document\项目\win32五子棋\Project1\Project1\StartGame.obj 1未写函数定义:
2021-05-16 17:58:06
472
原创 单例模式
单例模式单例模式的特点就是对象唯一。只能创建一个对象,想必应该在思考,如何才能创建一个(new Singleton)而且只能new 一个,且要保证他的唯一性(一个对象)。一个类只有一个对象,我们必须将构造函数私有化,这样就没有权限。但这也就是说,这个类必须实例化,不是由我们去实例化,所以这必须使用的是静态方法 ,值得一提的是,我想写一下为什么要隐藏析构函数(这不是必须的),我们知道析构函数的目的是清理结束这个对象。释放他的一些资源。~Director(){ delete s_director;}
2021-05-15 10:30:12
81
原创 抽象工厂
抽象工厂抽象工厂,比简单工厂功能更复杂了一点。抽象工厂能做更复杂的事情。抽象工厂需要一个抽象工厂。继承他的子工厂。抽象产品类。这跟简单工厂差不多。唯一的区别的多了一个抽象工厂类。具体的工厂。既然如此。我们为什么还要写抽象工厂类,不是也可以多写几个工厂,这不就可以解决问题了。引入抽象工厂目的是为了实现多态。继承的目的就是为了实现多态。下面这个例子更好的理解抽象工厂#pragma once#include"WildWolf.h"#include"WildBoar.h"class MonsterFa
2021-05-14 18:42:45
77
原创 工厂设计模式
简单工厂模式工厂模式是为了创建大量相同的对象而设计的,工厂模式又分为简单工厂和抽象工厂,可以理解为初级工厂和高级工厂。高级工厂能做更多的事情。工厂模式是为了创建大量相同的对象而设计的,工厂模式又分为简单工厂和抽象工厂,可以理解为初级工厂和高级工厂。高级工厂能做更多的事情。简单工厂:一个工厂类,用来生成各种产品,产品有很多种,所以定义一个抽象的产品类。实现多态。工厂模式是经常被使用的一种方法。下面是一个例子。工厂类:#pragma once#include"Animal.h"class Facto
2021-05-13 20:58:19
76
原创 Uncaught TypeError: Cannot set property ‘onclick‘ of null
Uncaught TypeError: Cannot set property ‘onclick’ of null 问题解决事件响应放到事件源下面。就是说先要有事件才能执行
2021-05-10 18:41:37
174
原创 控制台扫雷
控制台扫雷小游戏#include<iostream>#include<time.h>#include<stdlib.h>#include<Windows.h>using namespace std;#define COL 20 /* 定义列数 */#define ROW 20 /* 定义行数 */#define BOMB 30 /* 定义炸弹数 */int map[ROW][C
2021-01-13 19:33:22
141
1
原创 strcat()函数的不合理性
strcat()函数的不合理性先展示代码与效果图int main(void){ char p1[5], p2[100]; memset(p1, 0, strlen(p1)*sizeof(char)); gets(p1); gets(p2); strcat(p1, p2); printf("%s\n", p1); printf("%d\n", sizeof(p1)); for (int i = 0; p1[i] != '\0'; i++) printf("%c", p1[i]);
2021-01-13 15:44:36
192
原创 推箱子
用c/c++写一个推箱子小游戏(特别详细)主要用到数组。非常简单,入门必写的小游戏。下面代码呈现,地图做得非常简单,可以的话自己修改,有什么错误,请大佬指正。我觉得有意思的是移动那一块,因为该开始写的时候,每移动一步,就要做出处理,这就导致了做了很多重复的代码,这没有意义。因为没使用函数,所以没想到,这些大量重复的代码,相似的代码,完全可以将他封装起来。数组,写这个游戏,我第一次用到三维数组,Map[0][][] 表示关卡,Map[][10][10]表示地图,以前真没写过这些。说到数组,这有些坑,
2020-12-22 21:50:15
154
原创 printf(“%d,%d,%d,%d,%d“,a++,++a,++a,++a,a++);
++ – 单目运算符需要注意的地方printf()函数,举个例子printf("%d,%d,%d,%d,%d",a++,++a,++a,++a,a++);是从右往左进行运算的,将变量压入栈中,a++作为常量没有地址值无法入栈,++a作为变量,printf()打印a变量的地址(地址指向的内容),因为++a都是指向同一个地址,所以打印出来的++a的值都相同。(a++,++a)把++a的值给了a++,因为是后置++,所以将进行打印。前面已经说过a++作为常量,常量不能作为左值,即 10 = 2;这是出错的,
2020-11-25 17:53:05
2007
原创 如何改变vs2017搜索框的大小
如何改变vs2017搜索框的大小我的搜索框好小弄的我使用查找时好困难,在网上找解决方案,找不到满意的。于是自己研究了一下,可以在设置里更改改一下大小就行了
2020-11-19 10:32:17
1521
1
原创 2020-11-18
数据结构(C语言版)”栈与队列“章节迷宫求解问题先将代码给出#include"iostream"using namespace std;#define ROW 10#define COL 10int maze[ROW][COL] = { {0,0,0,0,0,0,0,0,0,0}, {0,1,1,0,1,1,1,0,0,0}, {0,1,1,0,1,1,1,0,1,0}, {0,1,1,0,1,0,0,1,1,0},//将这行第四个数赋为零,这个程序才可能有一个解 {0,1
2020-11-18 20:57:47
79
原创 2020-11-17
状态模式作为设计模式的一种,对象内置一个纯虚函数指针,通过new 不同状态对象来改变指针,即发生改变,这种改变是唯一的,即一种状态,通过if条件语句进行判断。状态模式简化了代码,使得程序具有较好的拓展性,可维护性。是一种很好的编程方式...
2020-11-17 17:08:43
104
原创 2020-11-16
栈-逆波兰表达式学习了栈后写了一个简单的求逆波兰表达式下面代码放上这是头文件#pragma once#ifndef STACK_H__#define STACK_H__#include<iostream>#include<string>using namespace std;#define MAXSIZE 10typedef int SElemType;//定义栈结构体typedef struct{ SElemType data[MAXSIZE]
2020-11-16 17:19:27
90
原创 2020-11-14
有限状态机(FSM)一个有限状态机是一个设备,或是一个一个设备模型,具有有限数量的状态,他可以在任何给定的时间,根据输入进行操作,使得一个状态发生变换。任何一个状态机在任何一瞬只有一种状态。有限状态机背后的概念是有要把一个对象的行为分解成易与处理的 “块” ,在墙上的灯的开关,是一个非常简单的有限状态机。有两种状态,取决于你的操作。...
2020-11-15 15:10:22
81
原创 初入游戏人工智能编程
初入游戏人工智能编程本人,通过《游戏人工智能编程案例精粹》自学,现看到第一章,介绍的是今后需要用到的数学和物理知识。由于以前编程用到的数学知识不是很多,所以很多的知识都已经遗忘了,现在非常有必要学习一下数学和物理学。...
2020-11-14 14:13:48
127
原创 浅谈汉诺塔
浅谈汉诺塔汉诺塔问题一直困扰我好久,学习栈以后才了解他的运行原理,我同过画图的办法将程序怎样执行的画了出来。第一次我直接假设有三个盘子,通过直接将最小 A 与 C 会换,3-1 = 2 再次调用递归,A 与 C 又换回来了,此时n = 1 所以直接打印 A ----> C 并结束第3级递归,通过我们知道怎么换盘子的方式直接写出 C —> B,由此推出整个递归函数下面效果放上上机后发现错误,想了几分钟,没想到,我看了一下代码,再重新推导了一下,我发现用2代替3是解决这个问题的最好选择
2020-10-08 11:19:44
185
原创 java删除文件及文件夹
删除硬盘所有东西最近想写一个可以删掉移动硬盘的java程序注意,慎用,删除就没有了,禁止违法犯法下面效果放上代码package cn.com.file;import java.io.File;import java.io.FileNotFoundException;public class DeletHd { private File f; public DeletHd() { f = new File("H:"); System.out.println(f.get
2020-10-08 11:01:17
263
原创 泛型的使用
package cn.com.element;import java.util.ArrayList;import java.util.Iterator;public class ElementArray { /* * 创建集合对象,不使用泛型 * 好处: * 集合不使用泛型,默认的类型就是Object类,可以存储任意的类型 * 弊端: * 不安全,会引发异常,不能使用子类特有的功能(向下转型可以)。 */ public ElementArray() { Arr
2020-09-21 23:13:21
102
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人