Poker2 的爱与愁-入手两周,小小体会

没错,我就是Poker
入手Poker2 两周,红轴黑,因为一直使用的是IKBC C87红轴,整体手感差不多,唯一变化就是键盘变小了,但是手感依然不错。
入手之前也是百度了一翻,主要针对以下问题:

1. 什么轴体适合

2. 61键到底是不是适合IDE开发?/本人目前使用idea/

3. 3层键盘编程是什么意思,如何进行编程?

通过两周的使用,大概对以上问题有了自己的一些心得,希望给也在犹豫是否要入手这款小poker的同学们一点参考。

先介绍本人决定买Poker2的背景。
本人Java 开发,因为之前使用的是Win 7下Eclipse开发,之前用dell自带的键盘,真是有点敲的手疼。后来就买了C87红轴,因为百度说很轻,蜻蜓点水的感觉。入手之后感觉确实如此,刚开始不太适应,经常误操作,效率不高。习惯之后,真是感觉非常轻松。这点感受和百度上大家对红轴的评价基本吻合。而且红轴声音也小,不影响别人(虽然周围同事用青轴也没有感觉声音多大,因为好像也没怎么敲键盘,哈哈)。
现在刚刚换工作,开始用Mac下Idea开发,但是Mac的蝶式键盘感觉也不好,键程太短。因为没钱买HHKB,所以就看其他能和Mac适配的键盘。因为Mac的快捷键和触摸板这个神器的加持,也就不想买太大的键盘,因为太大的键盘放在面前,手离触控板就有点远,不太方便(有银子再入手一个触控板也许会好点,因为穷,所以不知道实际效果)。最后决定入手Poker2。

1. 什么轴体适合?

因为只用过红轴和青轴,所以最后还是买了红轴。轻,声音小。

2. 61键是否适合开发?

Idea开发必定要使用很多快捷键,尤其是fn键的调试。这款键盘使用fn功能需要fn+数字键的方式,而且基本配置在只有右侧有fn,所以使用起来还是不太方便。
还有一点就是方向键,需要fn + asdw来使用方向键,当然也可以使用编程开关把方向键设置在右下角。但是个人感受吧,也不是很适合,因为要移动右手,效率也不高。目前本人仍然使用默认配置,即fn+asdw作为方向键,习惯之后也没有问题。还要一个原因就是开启开关4将独立方向键放在右下角只能在默认配置键盘下使用,编程层是不能使用的,所以在编程层和层切换使用的情况下,开启开关4会造成方向键使用习惯不固定问题,很容易用着用着自己就乱了,所以还是默认配置最好。
因为这个键盘是可以进行编程配置的,所以目前的使用方案就是:

1. 默认方向键配置
2. 不适用编程开关,保证编程层的键盘布局和默认层相同(这个下面会解释原因)
3. 涉及到方向键和fn键的快捷键,为避免3个以上按键同时按的问题,均进行编程
4. 常用数字键(本人是1-3)不进行编程,剩余数字键(4-0)进行编程

确定了这个使用原则后,就要说明下第3个问题。

3. 3层编程是什么意思?如何进行编程?

首先说下这款Poker2的编程问题。编程层的编程键只能在当前层使用,而且编程后默认按键是编程键,要使用默认键还需要按pn配合只用,这个真是很蛋疼的设置,而且不能改,毕竟使用编程键的频率还是要小于默认键的。
之前对Poker的可编程有理解误区,知道拿到手实际使用后才理解了它的含义。Poker2的键盘分层可以分为两类:默认层和编程层。不同层通过fn+右shift进行切换。
默认成就是最基本的键盘布局,可以使用基本按键和fn+按键实现正刻和侧刻的键盘功能。
编程层就是空格键左侧亮灯的键盘布局层(红,绿,蓝三色对应三个编程层)。
这里要说明的一点就是,Poker的键盘层是一个整体切换。例如在默认层,也就是空格键左侧灯不亮的时候,是一层布局。在切换到下一层的的编程层的时候,键盘就整体切换到当前编程层的键盘布局,而不是个别的键盘布局切换。这点是拿到键盘后才理解的。
所以1个默认层+3个编程层,Poker就是4层键盘布局,不同层之间独立布局,没有冲突,也没有同时使用的机会。
还有一点需要说明,就是不同层切换时循环切换的,每按一次fn + 有shift,就切换到下一层,而且只能按顺序切换。针对这个问题,我是这样利用的。
这里有个前提,因为Poker的布局主要问题就是方向键和fn键的不独立,所以在编程的时候主要是针对需要使用这两种按键的快捷键进行编程,以达到减少同时按键个数的目的。其他的快捷键正常使用也基本ok。所以真正需要通过编程来提高键盘使用效率的快捷键不是非常多(本人目前有8个编程键)。

最后来说下,目前的键盘配置方案:

1. 方向键采用默认配置,fn + asdw。
2. 数字键7,8,9 键编程为fn + 7,8,9,方便调试。
3. 数字键4,5,6,9,0,-,= 进行编程,作为Idea的快捷键,替代需要方向键或fn的快捷键。
4. 隔层进行相同布局,也就是1,3层默认布局不变,2,4层编程层进行编程,这样就不用每次按3下fn+右shift来切换到需要使用的层,只要按一次就可以,当然这种方式是基于上面说的两个前提:顺序切换编程层和需要的编程键有限。
5. 所有编程开关关闭,保证4层键盘布局的键位一致。这点虽然导致键盘和Mac的键盘布局不太相同,主要是左侧ctrl,option,command的顺序不一致,但是习惯了以后也没有问题,因为Mac键盘基本不用了。
6. Poker2和Mac键盘可以配置使用,因为Mac的键盘仍然是标准键盘。

通过以上配置,基本解决了以下问题:

1. 键盘和触控板配合使用不方便
2. 快捷键使用不方便

适应了两周之后,基本已经习惯了键盘的布局和使用方式,感觉Poker2还是很有意思的键盘。慢慢积累使用经验,继续开发编程潜力,我觉得还是很有意思的。
其实买这款键盘还有一个战略目标,就是因为方向键实在用的痛苦,快捷键用起来也只能依靠编程键后才变得方便,所以想通过这款键盘的磨练倒逼自己尽量的使用键盘的快捷键,为接下来学习vim做铺垫。为什么要学习vim呢?因为百度和知乎说HHBK只适合vim党,so。。。

如果有其他的使用经验,欢迎diss,一起提高。可能不会把代码写的更好,但是更多些钻研的乐趣。

简书地址,欢迎来访:【https://www.jianshu.com/p/1de27754eccb
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搓牌是一种常见的游戏玩法,可以使用cocos2d-js实现。以下是实现搓牌的大致流程: 1. 创建一个扑克牌的Sprite,并设置正确的纹理坐标以显示牌面。 2. 创建一个遮罩层,使用遮罩层来遮盖扑克牌的一部分,模拟搓牌的效果。 3. 监听触摸事件,根据触摸点的位置移动遮罩层,显示扑克牌的不同部分。 4. 根据触摸事件的不同状态,判断是否需要将遮罩层移动回原始位置,或者将遮罩层完全移除,显示完整的扑克牌。 以下是一个简单的实现搓牌的示例代码: ```javascript var Poker = cc.Sprite.extend({ backTexture: null, mask: null, touchStartPos: null, ctor: function() { this._super(); this.initWithTexture(cc.textureCache.addImage(res.poker_back_png)); this.backTexture = cc.textureCache.addImage(res.poker_back_png); this.mask = cc.Sprite.create(res.poker_mask_png); this.mask.setAnchorPoint(0, 0.5); this.mask.setPosition(cc.p(-this.getContentSize().width / 2, this.getContentSize().height / 2)); this.mask.setBlendFunc(cc.ONE, cc.ONE_MINUS_SRC_ALPHA); this.addChild(this.mask); this.initTouch(); }, initTouch: function() { cc.eventManager.addListener({ event: cc.EventListener.TOUCH_ONE_BY_ONE, onTouchBegan: function(touch, event) { var target = event.getCurrentTarget(); if (!cc.rectContainsPoint(target.getBoundingBoxToWorld(), touch.getLocation())) { return false; } target.touchStartPos = touch.getLocation(); return true; }, onTouchMoved: function(touch, event) { var target = event.getCurrentTarget(); var delta = touch.getDelta(); var newPos = cc.pAdd(target.mask.getPosition(), delta); newPos.x = Math.max(-target.getContentSize().width / 2, newPos.x); newPos.x = Math.min(target.getContentSize().width / 2, newPos.x); target.mask.setPosition(newPos); }, onTouchEnded: function(touch, event) { var target = event.getCurrentTarget(); var distance = cc.pDistance(target.touchStartPos, touch.getLocation()); if (distance < 10) { target.showBack(); } else if (target.mask.getPositionX() > -30) { target.showFront(); } else { target.hideMask(); } } }, this); }, showFront: function() { this.setTexture(cc.textureCache.addImage(res.poker_front_png)); this.mask.removeFromParent(); }, showBack: function() { this.setTexture(this.backTexture); this.mask.setPosition(cc.p(-this.getContentSize().width / 2, this.getContentSize().height / 2)); }, hideMask: function() { this.mask.runAction(cc.fadeOut(0.2)); } }); ``` 在上面的代码中,我们创建了一个Poker对象,继承了cc.Sprite,并添加了一个遮罩层来模拟搓牌的效果。我们监听了触摸事件,并根据触摸点的位置移动遮罩层,显示牌面的不同部分。在触摸事件结束时,根据遮罩层的位置,判断是否需要显示完整的牌面,或者将遮罩层移回原始位置。 通过这个示例,我们可以学习到如何在cocos2d-js中实现搓牌效果,并且可以根据实际需求进行扩展和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值