游戏开发
centor
这个作者很懒,什么都没留下…
展开
-
Unity接入微信小游戏授权
这里是一个非自定义隐私授权弹窗模式的流程Demo。原创 2024-06-27 16:33:29 · 455 阅读 · 0 评论 -
lua计算笛卡尔积
【代码】lua计算笛卡尔积。原创 2022-12-17 15:51:54 · 219 阅读 · 1 评论 -
lua按照标点符号或空格分割单词
【代码】lua按照标点符号或空格分割单词。原创 2022-11-29 20:01:50 · 592 阅读 · 0 评论 -
orcale中使用正则表达式
select t.*, t.rowid from TABLES t where regexp_like(t.key, '^mykey_*') //匹配mykey_开头的key原创 2021-09-23 21:37:48 · 185 阅读 · 0 评论 -
MFC判断任务栏点击
判断任务栏点击最小化,监听系统消息void ClientDlg::OnSysCommand(UINT nID, LPARAM lParam){ CDialog::OnSysCommand(nID, lParam); if (nID == SC_MINIMIZE) { m_bIsForeground = false; //点击任务栏图标最小化监听 }}原创 2021-09-02 17:05:30 · 406 阅读 · 0 评论 -
cocos2dx 动画Sequence
pImgCellBg:setVisible(false)pImgCellBg:setScale(0.8)pImgCellBg:runAction(cc.Sequence:create( cc.FadeOut:create(0.01), cc.DelayTime:create(0.1*i), cc.CallFunc:create(function ( ) pImgCellBg:setVisible(true) end), cc.EaseIn:create(cc.Spawn:create(c原创 2021-08-04 20:41:04 · 366 阅读 · 0 评论 -
Spine使用外部图片动画换肤
#include "GCSpine.h"#include "SkeletonBatch.h"#include "SkeletonTwoColorBatch.h"#include "extension.h"GCSpine::GCSpine() :SkeletonAnimation(){}GCSpine * GCSpine::create(const std::string& skeletonDataFile, const std::string& atlasFile){原创 2021-07-08 18:28:36 · 1541 阅读 · 0 评论 -
保留小数位并舍弃无效零
CPP版本#include <iostream>#include <cstring>#include <sstream>using namespace std;int main(){ char szValue[128] = {0}; int iMoney = 200100; std::ostringstream oss; sprintf(szValue, "%.2f", (float)iMoney / 10000.f); istringstream原创 2021-03-17 20:46:31 · 503 阅读 · 0 评论 -
平行四边形ScrollView
问题需求:平行四边形的ScrollView解决办法:先旋转ScrollView一个角度iSlop调整内部显示的cell位置与旋转角度-iSloplocal iSlop = 5 -- 倾斜角度self.m_pScroll = ccui.ScrollView:create()self.m_pScroll:setRotation(iSlop)self.m_pContent = cc.Layer:create()self.m_pScroll:setInnerContainerSize(c原创 2021-01-15 11:34:17 · 201 阅读 · 0 评论 -
cocos2dx组件置灰
function changeToGray( node, flag ) local program = nil local vertShaderByteArray = "attribute vec4 a_position;" .."attribute vec2 a_texCoord;" .."attribute vec4 a_color;" .."varying vec4 v_fragmentColor;"原创 2020-12-17 10:03:04 · 467 阅读 · 0 评论 -
Redis设置过期时间expire没有生效
redis拿K ,如果v为空.直接设置过期时间expire.是不生效的.更不能在最下面设置过期时间,大并发时,照样不生效.所以得在设置值的时候同时设置过期时间原创 2020-11-04 20:59:18 · 9264 阅读 · 2 评论 -
秒及毫秒的随机数种子
引入头文件:#include "sys/timeb.h"随机数种子(毫秒):srandom(time(NULL));struct timeb timeSeed;ftime(&timeSeed);srand(timeSeed.time * 1000 + timeSeed.millitm); // milli time随机数种子(秒):unsigned int tseed = time(NULL);srand(tseed);使用随机数:int iRand = rand()%原创 2020-09-03 14:29:04 · 813 阅读 · 1 评论 -
关于cocos2dx使用spine动画第一帧错误显示
可以在setAnimation或者addchild之后手动调用一次update(0)刷新spine初始状态原创 2020-08-19 23:38:56 · 1115 阅读 · 0 评论 -
cocos2dx spine动画反转
SkeletonAnimation *m_pSpine= SkeletonAnimation::createWithJsonFile("spinefile.json", "spinefile.atlas", 1.0F); //m_pSpineBrow->setSkin("skinname1"); //auto slot = spSkeleton_findSlot(m_pSpineBrow->getSkeleton(), "slotnamne1"); //auto slot1 = spSk.原创 2020-05-13 21:06:52 · 1615 阅读 · 0 评论 -
cocos2dx中std::function使用
std::function在cocos2dx中可以用于界面信息交互当前有界面ALayer,其中有ASprite以及BLayer为ALayer的ChildBLayer中有控件BButton,当BButton触发时通知ALayer的ASprite切换图片ALayer.cpp//首先ALyer内,添加BLayer和ASpritebool ALyer::init(){ if ( !Sc...原创 2020-03-15 18:36:47 · 334 阅读 · 0 评论 -
cocos2dx坐标转化及节点位置获取
Sprite *pTest1 = Sprite::create("CloseNormal.png"); pTest1->setPosition(ccp(100.0f, 120.0f)); Sprite *pTest2 = Sprite::create("CloseNormal.png"); pTest2->setPosition(ccp(10.0f, 12.0f)); ...原创 2020-03-11 22:46:39 · 2808 阅读 · 0 评论 -
The application's Info.plist does not contain CFBundleShortVersionString.
在info.plist内添加CFBundleShortVersion 即可如下图所示原创 2020-03-08 15:30:04 · 5594 阅读 · 0 评论 -
Failed to load D:\adt-bundle\sdk\build-tools\28.0.3\lib\dx.jar
project.properties中指定本地工程使用的工具版本target=android-19android.library.reference.1=G:/demo/huawei/GameSDK_LibProject_Eclipsesdk.buildtools=23.0.1原创 2020-01-16 11:15:00 · 510 阅读 · 0 评论 -
android8.0自动安装apk失败问题
在android7.0之前String str = "/myApk/game.apk";String fileName = Environment.getExternalStorageDirectory() + str;File file18 = new File(fileName);Intent intent = new Intent(Intent.ACTION_VIEW);fileU...原创 2020-01-14 17:25:23 · 545 阅读 · 0 评论 -
cocos2dx保存截图至相册并分享(android 微信)
在进行以下操作之前先接入SDKhttps://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html首先是在游戏内进行截图CCSize size = CCDirector::sharedDirector()->getWinSize();CCRenderTexture *screen =...原创 2019-12-10 16:47:02 · 704 阅读 · 0 评论 -
layabox打包单机apk:网络异常,请检查您的网络或与开发商联系...
工程发布之后才能构建构建时资源路径填发布之后relese下的web目录(发布之后与index.html所在目录),单机要勾选单机版框打包过程中一定要注意版本对应关系,否则会出现下面这种情况版本:在发布之后的release\web\libs\laya.core.js中找到Laya.version=“x.x.x”;构建时选择对应的Native版本...原创 2019-12-04 18:46:18 · 1523 阅读 · 0 评论 -
eclipse中JNI与NDK
JNI简介:Java Native Interface,即java本地接口,本地接口就是指用C和C++开发的接口。实际使用中,java需要与本地代码进行交互,因为java具备跨平台的特点,所以java与本地代码交互能力非常弱,所以采用JNI特性增强java与本地代码交互的能力。使得java与本地其他类型语言(如c、c++)交互,即在java代码里调用c、c++等语言的代码或c、c++代码...转载 2019-11-13 17:54:26 · 221 阅读 · 0 评论 -
cocos2dx内存管理与多线程
为什么使用线程:cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线程中,游戏的界面就会卡,这是不能容忍的,游戏最基本的条件就是流畅性,这就是为什么游戏开发选择C++的原因。另外现在双核手机和四核手机越来越普遍了,是时候使用多线程来挖掘硬件的潜力了。线程环境配置cocos2d-x中的多线程使用pthread就可以实现跨平台,而且也不是很难理解。使用p...转载 2019-11-08 14:15:59 · 208 阅读 · 0 评论 -
cocos2dx多线程通信
在cocos2dx中要实现网络实时交互,需要使用socket保持连接,并与服务器进行数据交互socket通信部分需要使用多线程1、开启一个线程,进行socket通信的连接int ClientSocket::Start(){ int errcode = 0; do { pthread_attr_t l_attr; errcode = pthread_attr_init(&...原创 2019-11-05 15:48:10 · 489 阅读 · 0 评论 -
Android6.0权限批量申请
1、 主要接口检查权限是否被允许ContextCompat.checkSelfPermission(welcomeActivity.this, permissions[i])请求权限ActivityCompat.requestPermissions(this, permissions, MY_PERMISSIONS_REQUEST_CODE);请求之后的回调onRequestPermi...原创 2019-10-28 15:21:37 · 399 阅读 · 0 评论 -
System.err android.os.FileUriExposedException:
System.err android.os.FileUriExposedException: file:///storage/emulated/0/myd2/327/modao2.apk exposed beyond app through Intent.getData()The app crashes when trying to open a file. It work below Andr...原创 2019-10-28 15:06:25 · 329 阅读 · 0 评论 -
mac unity3D汉化包
1.下载汉化语言包:https://pan.baidu.com/s/1pA0s7orn2W-NoYZgzj44Ww2.找到Unity.app右键显示包内容3.将下载好的汉化包放在路径下:最终路径:/Applications/Unity.app/Contents/Localization/zh-cn.po如果没有Localization目录自己新建一个...原创 2019-10-16 15:43:32 · 1276 阅读 · 0 评论 -
Android 切换界面黑屏
这种切屏导致的黑屏多半是因为横竖屏切换或者其他问题没有配置响应在Manifest中每个Activity都添加如下配置:android:configChanges="orientation|keyboardHidden|navigation|screenSize"这个配置的意思:大佬的记录VALUEDESCRIPTIONmcc国际移动用户识别码所属国家代号是改变了,...原创 2019-08-13 12:00:07 · 3305 阅读 · 0 评论 -
android监听通话状态
samsung提审结果报告里:application sound is audible during the call in pop up window//在弹出窗口中的呼叫期间,<缺陷>应用程序声音可听见解决方案:监听通话状态管理游戏音效(方法一适用于通话界面监听,方法二通用)方法一:1>在activity创建时创建通话状态监听 //1.获取telephone的实...原创 2019-09-11 15:02:52 · 6326 阅读 · 4 评论 -
Unity中用脚本实现图片替换
首先替换资源是要在当前项目中找到需要替换的资源利用www类实现资源加载代码如下using UnityEngine;using System.Collections;using UnityEngine.Networking;using System.IO;using System.Collections.Generic;using UnityEngine.UI;publ...原创 2018-03-15 14:27:07 · 13275 阅读 · 2 评论 -
System.exit(0)失败,app重启
这个问题一般都是你有activity没有finishi在每个activity转换之后将转换之前的activityfinishi掉if (android.os.Build.VERSION.SDK_INT < 23) { Intent intent = new Intent(welcomeActivity.this,SplashScreen.class); startActivit...原创 2019-08-13 14:06:21 · 642 阅读 · 0 评论 -
cocos creator地图缩放与拖动
//地图控制类const {ccclass, property} = cc._decorator;@ccclassexport default class mapCtrl extends cc.Component { @property(cc.Label) label: cc.Label = null; @property text: string =...原创 2019-08-08 14:16:03 · 6047 阅读 · 11 评论 -
ActivityCompat.requestPermissions()找不到
因为v4这个包有很多版本,选择这个1389KB的包含了ActivityCompat.requestPermissions()方法原创 2019-07-27 20:39:01 · 6897 阅读 · 2 评论 -
VS code 关闭插件自动更新功能
查找:文件&gt;&gt;首选项&gt;&gt;设置 下面自动跟新扩展改为:false原创 2018-07-23 18:03:09 · 21192 阅读 · 1 评论 -
Unity Mathf 数学运算(C#)
今天开始看合金弹头范例,注意到这个函数Mathf.SmoothDamp的使用,游戏中用于做相机的缓冲跟踪和boss直升机跟踪士兵。该函数是Unity3D中Mathf数学运算函数中的一个。我们其实会留意一些游戏使用了smoothmove的功能,其实就是类似的效果,只是发现这个函数很容易的已经分装好了,查了官网文档发现使用起来真的非常简单。smoothdamp,我的理解是平滑缓冲,东西不是僵硬的移...原创 2018-03-02 18:05:17 · 2318 阅读 · 0 评论 -
U3D Scroll View制作
记录一个Scroll View的制作过程 效果图如下,一个简易的商城界面,能通过拖拽商品查看商品的功能,并实现屏幕不同分辨率下的自适应 在实现之前首先导入资源,在项目文件的Assets目录下添加所需的资源,在其中截图不适宜过大,所以各部分Rect Transform设置最后附上 1. 在Hierarchy中添加UI中Scroll View,以及本次制作组件全览 2. 以UI中...原创 2018-03-08 15:36:08 · 364 阅读 · 0 评论 -
Unity中用C#动态增加预设体
在一个对象被设置为预设体后,通过外部改变参数的值,来动态的增加预设个体。using System.Collections;using System.Collections.Generic;using UnityEngine;public class NewBehaviourScript : MonoBehaviour { // Use this for initializ...原创 2018-03-08 18:06:26 · 2346 阅读 · 0 评论 -
U3D slider控制text文本内容
要实现一个slider控制text内容变化,需要一个组件onValueChanged回调自定义方法 功能:滑块滑动时,文本框内string随之变化using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;using UnityEngine...原创 2018-03-19 15:45:37 · 2862 阅读 · 0 评论 -
Start()和Awake()的区别
在Unity3d游戏程序运行时所有附加到游戏对象上的脚本组件都会运行, Awake方法和Start方法都只会运行一次,多用于数据初始化。 这两个方法的执行顺序是: 先执行Awake方法,再执行Start方法,之后才是Update().当脚本设置为不可用时 Awake方法仍然会执行一次,而Start方法则不会执行在游戏开始之前Awake用来初始化变量或游戏状态。 Awake方法在脚本生命周...原创 2018-03-20 16:47:37 · 1216 阅读 · 0 评论 -
关于U3D中对象隐藏或显示的操作
GameObject gameObject;gameObject.renderer.enabled //是控制一个物体是否在屏幕上渲染或显示 而物体实际还是存在的 只是想当于隐身// 而物体本身的碰撞体还依然存在的 GameObject.Destroy();//表示移除物体或物体上的组件,代表销毁该物体,实际上该物体的内存并没有立即释放//而是在你下下个场景中槽释放内存资源...原创 2018-04-04 17:47:44 · 2273 阅读 · 0 评论