- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
下面的代码是我现在所在的位置,我已经完成了它,所以我可以单击一个按钮并将 sprite 表上的一个 sprite 更改为另一个。我正在研究的基础知识可能很糟糕,我真的不知道自己在做什么!如果是这样,请务必引导我直走。
我想知道的是如何遍历 Sprite 表中的所有 Sprite 。目前,我只能通过单击按钮在第一个和第二个之间切换(仅一次)。
UIImageView test = new UIImageView();
test.Image = UIImage.FromFile("necromancerSpriteSheet.png");
CGImage img = test.Image.CGImage;
CALayer layer = new CALayer();
layer.Contents = img;
layer.Bounds = new RectangleF(0, 0, 128, 128);
layer.Position = new PointF(150, 250);
UIImageView theImage = new UIImageView();
layer.ContentsRect = new RectangleF(0, 0, 0.33f, 0.33f);
layer.RemoveAllAnimations();
theImage.Layer.AddSublayer(layer);
button.TouchUpInside += (s, e) => {
layer.ContentsRect = new RectangleF(0.33f, 0, 0.33f, 0.33f);
layer.RemoveAllAnimations();
theImage.Layer.AddSublayer(layer);
};
我希望这个过程是加载/初始化所有子层,然后以某种方式简单地循环它们。不过,我还没有找到如何实现这一目标的运气。
这是我的测试 spritesheet 如果它有帮助...
最佳答案
解决这个问题的方法有很多种,但是如果你想使用CoreAnimation来驱动sheet上的动画,我的建议是你使用关键帧动画(CAKeyFrameAnimation)来驱动动画。
为了简化事情,我只是将所有项目放在一行中,然后使用如下内容:
var anim = (CAKeyFrameAnimation) CAKeyFrameAnimation.FromKeyPath ("position.x");
anim.Values = new NSNumber [9];
var times = new NSNumber [9];
for (int i = 0; i < 9; i++){
anim.Values [i] = NSNumber.FromFloat (i*WIDTH);
times [i] = NSNumber.FromFloat (i/9f);
}
anim.CalculationMode = CAKeyFrameAnimation.CalculationDiscrete
你可能需要稍微调整一下上面的动画,我没有测试就做了上面的。
关于ios - 如何使用 monotuch 和核心动画为 sprite 表制作动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9187820/
所以我正在创建一个界面,按钮上有图像,但默认情况下,苹果会在导航栏按钮周围放置边框。有没有简单的方法可以删除它们? 最佳答案 在您的界面构建器中选择一个按钮,然后在右栏的属性上将其设为带有背景图片的自
有没有办法以编程方式枚举文件夹中的所有图像资源? 我想自动化动画图像序列创建过程并像这样加载图像: var images = EnumResouceImages("Images/"); foreach
我是单点触控的新手。我有一个 UICollectionViewCell .xib 文件,我在其中设置了图像和标签。在另一个类似 的 View Controller 中 public partial c
我在供应商提供给我们的库的头文件中定义了以下结构。 typedef struct { int iLen; int iType; int state; unsigne
在 C# .net 中,我们可以使用 System.Codedom.Provider 动态运行代码。同样有可能在 Monotouch (iPhone/iPad) 中动态执行代码。 提前致谢 最佳答案
我在main.cs中封装了日志代码来捕获异常,但是用monotouch构建的应用程序在iPad上经常崩溃,我找不到任何日志。 (部分代码包含多线程操作和wcf服务) 如何捕获所有崩溃异常? publi
我在main.cs中封装了日志代码来捕获异常,但是用monotouch构建的应用程序在iPad上经常崩溃,我找不到任何日志。 (部分代码包含多线程操作和wcf服务) 如何捕获所有崩溃异常? publi
如何在 monoTouch 中通过 C# 访问电话通话记录?我希望能够帮助我的合法客户为接听或调用的电话开具账单。因此,我需要能够查看通话的详细信息,并在调用电话后立即制定计费程序。 有没有示例代码?
在 android 中,我们可以有一个警告对话框,其中包含如下图所示的项目列表: 但对于 iPhone 情况,我们如何创建这样的警报 View ? 最佳答案 您需要使用代理名称和电话属性创建 MyCu
我在 monotouch 中将 string 转换为 Float/Decimal 但它给出了格式异常。我正在使用 Decimal.Parse()、Convert.ToDecimal()。请为此转换提供
我有以下内容使用系统; namespace mtSpec { public class SpecElement { public SpecElement (Delega
有没有办法将图像设置为设备壁纸?最初我想下载一张图片,将其保存在图片卷中的某个位置,然后以编程方式将其设置为墙纸。 谷歌没有给我任何关于如何完成的答案。 最佳答案 遗憾的是,此 API 未向开发人员公
我希望能够为用 monotuch 创建的 ios 应用程序中的文本输入提供我自己的可用自动更正/自动完成选项列表。 单词列表通过网络服务更新。完成搜索后,可以在 Ebay 应用程序中看到此类功能的示例
我在 monotouch 中实现 tesseract ocr。我想在 c# 中转换以下代码。 // Set up the tessdata path. This is included in the
我有两张图片。第一个 (avatar) 是 640x640,第二个 (like) 是 21x20。当我试图先画第二张时,我明白了,但质量很差。这是代码: var bounds = targeImage
好的,所以这个可能有点挑战,因为它是单点触控... 我有一个可重复使用的自定义工具栏,我计划在多个屏幕上重复使用。 我想在 Interface Builder 中创建工具栏 我希望能够从任何 View
下面的代码是我现在所在的位置,我已经完成了它,所以我可以单击一个按钮并将 sprite 表上的一个 sprite 更改为另一个。我正在研究的基础知识可能很糟糕,我真的不知道自己在做什么!如果是这样,请
我的应用程序永久收到内存警告,但我真的找不到导致它的原因。即使我将应用程序剥离到最低限度,我也会遇到重大泄漏。所以我想的是从 monotuch 示例编译默认的 HelloWorld_IPhone 应用
尝试找到一种不使用 WebView 对象来显示/渲染 SVG 文件的方法。我找到了名为 SVGKit 的 ObjC 库。我想知道 SVGKit 有多可靠?它有单点触控绑定(bind)吗?在 iPhon
有时我会从 objective-c 代码中得到异常。在我的示例中,这些异常并不重要,我希望应用程序继续运行。问题是我如何处理这些异常? 例如,当我使用 GeoCoder 类时,我的应用程序有时会崩溃。
我是一名优秀的程序员,十分优秀!