我是一名 iOS 编程新手(同时阅读几本有关该主题的书籍),我想开发一个(又一个)文字游戏。
来自 Flash/Flex 编程背景,我首先期望图 block 最好捆绑为 gif 或 png 资源。
但是后来我(通过使用 iFunbox)查看了流行的文字游戏(Lexulous、Wordament、Words with Friends、Ruzzle 等),并且没有一个正在这样做:
我见过的众多应用程序中没有一个包含任何字母片段作为图像。
所以我的问题是为文字游戏创建字母图 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/