ios - 如何为文字游戏编写可拖动的图 block ?

标签 ios uiview uiscrollview draggable tile

我是一名 iOS 编程新手(同时阅读几本有关该主题的书籍),我想开发一个(又一个)文字游戏。

来自 Flash/Flex 编程背景,我首先期望图 block 最好捆绑为 gif 或 png 资源。

但是后来我(通过使用 iFunbox)查看了流行的文字游戏(Lexulous、Wordament、Words with Friends、Ruzzle 等),并且没有一个正在这样做:

enter image description here

我见过的众多应用程序中没有一个包含任何字母片段作为图像。

所以我的问题是为文字游戏创建字母图 block 的推荐方法(在 Xcode 5 中并且没有像 Cocos2d 或 Sparrow 这样的附加 SDK)是什么?

在我想要的图 block 上

  • 居中对齐的字母(显然!),
  • 然后是角落里显示字母值的索引
  • 然后是总单词值的另一个索引

触摸时,我想让图 block 变大一点,并在其下方添加阴影。

我的图 block 类应该是 UIView (它们可以拖动、生长并有阴影吗?)

我应该为图 block 使用 .nib 文件吗?

对于拖动我已经找到了一个很好的建议:Dragging an UIView inside UIScrollView

但我真正想知道的是:UIView 是否会成为一个好的图 block (性能和功能方面),或者我应该选择另一个基类(例如某些形状) ?

最佳答案

是的,UIView 将是一个很好的容器。 创建 UIView 的子类,例如 TileView,在其上放置一些标签、 ImageView 和按钮,覆盖按钮 UIControlEventTouchDown、UIControlEventTouchUpInside、UIControlEventTouchDragInside 事件以帮助您在其父 View 中导航。将 TileView 放入某个容器中(您的 View Controller View 或您想要的位置),基本上就是这样。

-(void)btnPressed:(id)sender withEvent:(UIEvent *) event
{
    CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];
    dx = 0;
    dy = 0;

    oldPoint = point;
}

-(void)btnRelesed:(id)sender
{
// stop moving code
}

-(void)btnDragged:(id)sender withEvent:(UIEvent *)event
{
    CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];

    dx = point.x - oldPoint.x;
    dy = point.y - oldPoint.y;

    oldPoint = point;

    // set tile view center position using 
    CGPoint ptCenter;
    ptCenter = self.view.center;
    ptCenter.x = ptCenter.x + dx;
    ptCenter.y = ptCenter.y + dy;
    self.view.center = ptCenter;
}

self.view 是你的 TileView 及其 self.view 因为你有 ovriden UIView 类;)

关于ios - 如何为文字游戏编写可拖动的图 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19956450/

相关文章:

ios - Scrollview 底部的按钮没有响应

ios - 了解 numberForPlot : and numberOfRecordsForPlot: Core Plot

ios - 在 iOS 中播放视频

ios - 程序化 UITableView 中不显示节标题

uiview - 圆形 UIView 不是完整的圆形

IOS, swift : How come my subclass of UIScrollView doesn't scroll?

iOS 6 AVAudioSession 问题

swift - 当新的 UITextView 可见时,对按钮进行动画处理并向下移动它们

objective-c - 使用 Curlup 动画时更改 uiview 的背面颜色

swift - 以编程方式在另一个 UIView 之上创建的 UIView 在 Swift 中不起作用