65.9K
CodeProject 正在变化。 阅读更多。
Home

Ultraping 游戏

starIconstarIconstarIconstarIconstarIcon

5.00/5 (3投票s)

2013 年 6 月 4 日

CPOL

2分钟阅读

viewsIcon

15894

适用于超极本的多人触摸板球游戏。

介绍  

你了解乒乓球和打砖块,你喜欢这些游戏,并且你拥有新的超极本,那么这里有一个你可以和朋友一起玩的触摸板球游戏。

Windows 8 游戏 / 桌面应用 / AIR for 超极本 

想法  

思考超极本的多点触控功能时,我问自己,我希望在超极本上看到什么。一个比使用键盘按键更有趣的触摸屏游戏。或者需要多个鼠标的游戏。 

游戏玩法 

左侧玩家使用左侧标记区域内的两个手指,右侧玩家使用右侧标记区域内的两个手指。球拍将具有合适的尺寸(在使用道具时,也许在游戏后期)。如果球/球碰到侧面的障碍物,则非该侧的玩家将获得一分。你可以自行选择要玩到多少分。   

为什么要在超极本上使用它?   

使用键盘按键无法让你灵活地将球拍旋转到任何角度。凭借超极本的高性能,我也可以在未来添加更多图形效果,例如粒子或其他功能,而不会因速度变慢而感到恼火。 

它是如何工作的? 

每侧标记区域内的两个手指。因此,我绑定了触摸事件的区域。   

如果现在触摸事件不在区域内或超过两个,则球拍将处于默认位置。如果区域内只有一个触摸事件,则球拍将具有固定角度。如果使用区域内的两个手指,从而产生两个触摸事件,则在这些两个触摸点之间绘制一条假想线。球拍中心放置在两个触摸点之间,球拍的角度是假想线与整个球场的某一侧的角度。  

 

我正在使用 Flash Action Script 3.0 AIR 3.4 for Desktops   

使用代码 

TouchEvent

所以多点触控就像使用拖放事件一样。

示例代码

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

paddle_ball_1.addEventListener(TouchEvent.TOUCH_BEGIN, fl_TouchBeginHandler);
paddle_ball_1.addEventListener(TouchEvent.TOUCH_END, fl_TouchEndHandler);

var fl_DragBounds:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);

function fl_TouchBeginHandler(event:TouchEvent):void
{
    event.target.startTouchDrag(event.touchPointID, false, fl_DragBounds);
}

function fl_TouchEndHandler(event:TouchEvent):void
{
    event.target.stopTouchDrag(event.touchPointID);    
}

游戏和物理引擎 

对于游戏,我没有使用特殊的引擎。但对于物理引擎,我选择了 Box2D。它易于使用且文档完善。  

历史  

1.0 初始发布  

1.1 修复了文本中丢失字母的错误 

© . All rights reserved.