- 博客(139)
- 资源 (12)
- 收藏
- 关注
原创 scrollview DC优化(一)
scrollview移出可视区域清空透明度此方法不适合数据量过大的scrollview只是用于解决,而且每次滚动 更新资源数据时加载过慢资源闪烁的问题当然还有 creator 复用列表 可以参考creator 复用列表https://mp.youkuaiyun.com/mp_blog/creation/editor/117450175const { ccclass, property } = cc._decorator;@ccclassexport default class NewClas
2022-05-16 11:26:47
347
原创 creator 使用Graphics绘制移动的虚线
原文路径原文是绘制固定虚线因为Graphics好像是 每次都会重绘,所以可能会比较耗性能自己取舍const { ccclass, property } = cc._decorator;@ccclassexport default class NewClass extends cc.Component { @property(cc.Node) content: cc.Node = null; @property(cc.Node) cNode: cc.No
2022-04-09 11:53:54
1284
原创 ts防抖节流装饰器
/** * 节流 * @param time * @returns */export function throttle(time: number = 0.3) { return function (target, propertyKey: string, descriptor: PropertyDescriptor) { let oldFun = descriptor.value; let isLock = false; descri.
2022-02-26 10:17:02
1449
原创 creator 复用列表
根据官方示例的复用代码,改成可多列的列表代码不多,可能是复用item的最优方案(我用的时间也不长,不是很懂)核心逻辑很简单,就是将滚出屏幕的 item 放到将要显示item的地方
2021-06-01 19:24:47
307
2
原创 cretor 小游戏获得物品弹窗
因我们需求是一次最多显示5个 分批显示,所以我先写了一个小模板两种方式显示 一种是每次显示5个 另一种是 每次显示一个 慢慢向上飘cc.Class({ extends: cc.Component, properties: { mainNode: cc.Node, itemNode: cc.Node, btn: cc.Button, QieHuanBtn: cc.Button, currLabel: c
2021-05-31 20:08:43
336
2
原创 creaotr 动态设置Layout的horizontalDirection
查看api 后 horizontalDirection 的值是Layout.HorizontalDirection枚举所以直接用索引下标setLayout(type = 0){ let number = type; this.mainNode.getComponent(cc.Layout).horizontalDirection = number; this.isBuffNode.getComponent(cc.Layout).horizon..
2021-03-12 11:42:38
245
原创 js 发布-订阅者模式
/** * 发布-订阅模式 * bw 2020/07/29 */const Event = { regsiter:{}, on: function(name, method, target){ if (!this.regsiter.hasOwnProperty(name)) { this.regsiter[name] = []; }else{ let idx = this.regsiter[name]..
2021-02-22 12:12:27
185
原创 creator 长按事件
在creator中使用长按/** * bw 长按事件 * node: 只能是节点 * call: 长按触发的事件 * * 有时间后面优化成 可触发一次 和持续触发 再加上 事件间隔 * * 使用 引入 js * new BWLongPress({ node: node节点, call: this.函数.bind(this) }) */function BWLongPress(option = {}) ..
2021-01-07 17:23:27
328
原创 creator tween复杂用法
整理一下tween 复杂用法tween 动画默认是顺序执行的,所以不用考虑顺序问题1:并行动画(同时执行)//角色移动动画 roleMove(node) { return new Promise((res, rej) => { cc.tween(node) .parallel( cc.tween() .delay(0.8)
2020-12-24 18:35:45
3077
1
原创 creator 2.4.3图片置灰
一张图片,设置可以和禁用状态之前使用setState好像被弃用了新方法是setMaterial但是直接使用 没有效果 还需要托灰色材质到sprite属性的Materials上才可以通过设置下标来改变图片颜色然后通过setMaterial(0) number类型参数设置,也就是下标官方默认是 builtin-2d-sprite 然后将 -gray 拖到数组里面 第一个下标为0 所以 设置0 就是灰色 设置1 就是默认当然也可以 拖动更多材质 来改变图片颜色只需要根据材质数组的...
2020-11-02 11:02:20
911
原创 creator Label竖行显示
用cocos creator 经常会用到label组件,官方并没有说明文字可以竖行显示。其实很简单将label的 overflow 设置为shrink 或者resize_height如果fontsize 是30 就将label的width设置为30如果设置shrink 就会在限定区域 自动缩放文字如果是resize_height 高度就会自适应设置成 shrink 文字过多 所以自动缩小到 13像素设置成resize_height 高度会随文字变多而升高 文字大小..
2020-10-27 18:15:53
3673
原创 cocos creator cc.log影响代码速度
在游戏开发中,为了方便一般的输出都会用到 cc.log的简写,但是今天发现了一个很奇怪的现想。我在本预制体中向 其他预制体传递一个函数let obj = { onClickQueDingBtn:this.onClickQueDingBtn.bind(this), } pre.getComponent('roleSX').init(obj);这个函数中 使用了 cc.log 来输出返回值,在电脑中使用时,基本没什么问题,但是在手机浏览器测试
2020-09-18 10:36:11
1029
原创 Vue使用ckpalyer监听播放中的error事件
vue项目中的播放器使用的是ckplayer根据官方说明 可以将视频播放后执行的函数挂在在window上 就可以监听到 视频加载完成的 函数var videoObject = { container: '#video',//“#”代表容器的ID,“.”或“”代表容器的class variable: 'player',//该属性必需设置,值等于下面的new chplayer()的对象 autoplay: this.isAutoplay,//自动播放 l
2020-07-22 10:47:38
1229
原创 uniapp ios软键盘弹起跳转页面,返回后留白问题
项目中碰到一个奇怪的问题,uniapp 中 ios软键盘弹起的状态下跳转页面,然后在子页面关闭软键盘,再返回上一页,会导致页面留白的问题。因为页面是nvue写的 ,所以不确定vue会不会出现相同的情况,因为不是页面向上推,所以设置 页面滚动也没有效果然后也不知道怎么恢复留白问题。所以只能在跳转页面之前关闭一下软件盘,这也只是临时方案,如果有更好的方法,请指教,谢谢。try{ uni.hideKeyboard()}catch(e){ //TODO handle the excep.
2020-07-03 11:02:35
1191
1
原创 uniapp 使用canvas 画图连线
实现很简单,还实现了点击图片的功能因为是基于uniapp做的项目测试,所有就发布到了uniapp的插件市场里面bw-canvas画线
2020-06-22 14:10:09
4391
2
原创 uni设置scroll-top为0无效
uniapp里面使用scroll-view 组件,动态设置scroll-top 属性来控制滚动高度,但是当想滚动到起始位置时 设置动态值为0 时无效的。具体原因还在找,但是找到了解决方法。首先要定义一个变量记录滚动条的位置<scroll-view :style="{'background-color': currentTheme.backgroundColor}" @sc...
2020-04-30 14:19:52
3469
1
原创 vue数据更新页面不渲染解决方案
正常情况可以用this.$forceUpdate();在进行页面强制渲染,如果遇到特殊情况 可以配合this.$nextTick 使用强制渲染this.$nextTick(function(){ this.$forceUpdate(); })如果 在碰到更特殊的情况 ,比如在模板中的数据即使在本页强制渲染了,也无法生效,那就直接在模板页面的 触发函数里面调用...
2020-04-28 14:51:56
5277
原创 毫秒转换天时分秒倒计时
因为项目基于uniapp开发,所以就用uniapp的写法,只要知道具体放他,就可以自己 修改自己用了样式 就不详细写了 自己写。<view class="bw-cd"> {{cdStr}} </view>let setStartTime; export default { data() { return { cdTime:0, ...
2020-04-03 17:02:12
1132
原创 uni打包H5在手机浏览器看控制台
uni写的h5项目在电脑上调试没有问题,但是在手机上有bug时,很难调试,所以需要在移动端有一个控制台查看具体问题。首先,打开hellouni的项目,找到自带的入口html也可以在官网上找初始化的html。将html放到自己项目里。然后打开manifest.json选择h5配置找到刚刚导入的html文件。最后在这个文件下面加上2行代码script s...
2020-02-12 11:20:22
3489
原创 uni scroll-view滑动到最底层
一个简单的scroll-view滚动到底部例子内部的scroll-into-view 应该是不支持动态渲染数据的,所以如果有动态渲染,只能使用scroll-top 计算高度因为是计算高度,所以设置高度是可以 100%scrollToBottom: function () { let query = uni.createSelectorQuery();//这个是你所有渲染的...
2020-01-05 16:49:19
4996
2
原创 js数字转换中文
/*数字返回汉字,最大 千亿 */ returnCN(num){ let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; let unit = ["", "十", "百", "千", "万"]; let getCh = (temp) => { let strArr = temp.toS...
2020-01-05 16:13:51
1328
原创 uni.createSelectorQuery渲染后执行
每次使用createSelectorQuery时,因为和数据赋值一起调用,所以导致只能获取到上一次渲染的数据,如果能让这个函数 在渲染之后调用,就可以完美解决了暂时不知道怎么监听页面是否渲染。所以只能使用setTimeout临时代替一下 scrollToBottom: function () { let query = uni.createSelectorQuery(...
2020-01-04 14:33:59
6944
原创 UNI使用js实现简单的 打字效果
项目特效,实现打字样式,但是css的特效不支持多行文字,所以暂时用js实现文字打字特效template:<view>{{teststr}}</view>script:let that;export default { data() { return { textWriter:'挖挖达瓦达瓦达瓦达阿文达瓦达阿瓦达阿瓦大啊的挖挖达瓦...
2019-12-30 18:36:16
1480
原创 UNI如何使用 plus
在uni项目钟使用h5+的puls可以直接使用uni的条件编译就可以直接使用了 // #ifdef APP-PLUS plus.nativeUI.toast(str); // #endif // #ifndef APP-PLUS uni.showToast({ title: str, icon:'none', duration:2000 });...
2019-12-30 10:42:43
5316
原创 uni.createSelectorQuery().select()总是获取不到元素
使用uni.createSelectorQuery().select选择元素时经常获取不到 报一些 height 或者 width null或者找不到到官方查了之后才发现需要加上 in(this)只要加上let el = uni.createSelectorQuery().in(this).select('#' + id);就不会有这种问题了...
2019-12-20 15:04:41
27880
15
原创 UNI监听页面返回2次退出APP
项目中常用的功能,阻止页面返回,连点2次退出在uni中页面的生命周期有一个 onBackPress只要知道这个生命周期怎么使用 就可以运用了只需要在 当前页面 加上onBackPress(options) { this.backButtonPress++; if (this.backButtonPress > 1) { plus.runti...
2019-12-20 10:41:09
4441
2
原创 uni 设置简单的通用函数
在项目中 可以常用的uni函数 封装起来 在main。js中挂载,这样就不用多页面写相同的代码了import Vue from 'vue'import App from './App'Vue.config.productionTip = falseVue.prototype.toBack = function(num){ uni.navigateBack({ delta: n...
2019-12-16 11:50:23
825
原创 vue elui 使用v-if 判断tab时样式错乱
项目中用el ui 的tab显示数据6个数组的数据不同 所以用了 v-if 来判断但是同样的数据,显示出来的样式乱七八糟查了半天才知道 是因为没有加上 key值,所以才会渲染错乱。具体原因也不知道。只要在table 加上key 就可以了<el-table v-if="personalType=='publicNumber'" :data="publicNumberArr...
2019-11-18 11:19:33
1092
1
原创 uni自定义tabbar
在项目中会有2个tabbar一个在主页,一个在副页,但是uni的tabbar只能有一个,所以就基于colorUI的代码自定义一个tabbar首先解决tabbar的样式冲突问题上面的是 colorUI的原生样式引入后出现了 样式冲突。uni有一个样式是uni-view { line-height: 1.8;}只需要重新定义 行高,改为1 就可以了然后...
2019-11-06 10:40:12
1230
原创 弹性布局多列换行居左布局
项目中有碰到一列 3 个及以上的 多行布局设置 justify-content: space-between; 后 如果满格 就是正常显示,如果最后一行少1个就会出现 两头布局,影响美观。做一个解决这种问题的样式css.position-view,.size-view{ width: 150upx; margin: 10upx 0; } .size-view{ p...
2019-11-01 11:23:42
2175
原创 uni引入自定义图标
项目中需要引入阿里图库的字体图标首先在阿里上下载图标源码解压后,只需2个文件就可以把ttf文件放到 static中 是可以自己建文件夹放的,但是uni官网上 有说过static中 放一些静态数据css文件放到存放css的文件目录中下一步 (注意)在iconfont 中修改@font-facttf的文件 一定要用 ~@ +绝对定位 如果用相对定位,不会生效更...
2019-10-26 16:59:16
647
原创 uni自定义模板
页面开发时,会有很多通用样式,可以放到模板中重复调用首先创建一个页面,不能再page中注册,不然不能当成模板导入(非常重要)<!-- name是模板名 --><template name="list-goods"> <view> <view class="list-view"> <view class="m-...
2019-10-25 14:27:04
1209
原创 简单实现瀑布流
view<view class="list-view"> <view class="m-view" v-for="(item,index) in listGoods" :key="item"> <image class="g-img" src="../../static/temp/cate21.jpg" mode=""></image...
2019-10-24 15:36:02
157
原创 缓存数组
用JSON的parse 和stringify 可以实现缓存数组uni登录模板的例子const USERS_KEY = 'USERS_KEY';const STATE_KEY = 'STATE_KEY';const getUsers = function () { let ret = ''; ret = uni.getStorageSync(USERS_KEY);...
2019-10-23 10:24:24
941
原创 Array some() 用法
定义和用法some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。some() 方法会依次执行数组的每个元素:如果有一个元素满足条件,则表达式返回true, 剩余的元素不会再执行检测。 如果没有满足条件的元素,则返回false。注意:some() 不会对空数组进行检测。注意:some() 不会改变原始数组。例子:const data = { ...
2019-10-23 10:19:49
9125
原创 uni异步后无法正确赋值
项目发现一个小问题通过异步后的数据无法渲染,但是可以赋值测试过后才想到是作用域的问题。最后获取缓存之前 加上that 就可以解决单纯的作用域的问题。...
2019-10-17 15:20:34
1377
原创 UNI 阻止冒泡
在uni内置模板里面的ColorUI里面有模板找到一个modalNmae<view class="cu-modal" :class="modalName=='DialogModal3'?'show':''" @tap="hideModal"> <view class="cu-dialog" @tap.stop=""> <view class="...
2019-10-17 10:57:53
483
原创 UNI错误:Duplicate keys detected
写静态页时,碰到一个奇怪的问题翻译过来:检测到重复键:'redian'。这可能会导致更新错误。键值对,肯定是数据问题,于是找到假数据果然只要改掉这些重复的 键值对 就可以了...
2019-10-15 09:11:45
2989
html转换pdf(测试)
2017-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人