Xamarin iOS 让图片动起来,做一个简单的俄罗斯轮盘

1. 前言

让图片不止是图片,让图片动起来。透过图片的animation以及随机数来完成一个简易版的轮盘游戏。

2. 目的

藉由这个APP的实作过程,练习使用animation及随机数。

3. 开始前准备

开发工具:Xamarin studio / Visual Studio

测试环境:iOS手机 / XCode

 

4. 本文

首先开启一个Xamarin iOSSingle View App项目。

添加一张手指的图片及一张轮盘的图片到项目路径下






在页面加入一个按钮并添加action event如下图




编辑ViewController

初始化物件


CALayer layer;
//是否为初次执行,初次执行起始值为0
bool init = false;
//记住前次结果值
float lastFloat = 0f;

加载轮盘图片及手指图片


//轮盘图片
layer = new CALayer ();
layer.Bounds = new CGRect (0, 0, 300, 300);
layer.Position = new CGPoint (190, 340);
layer.Contents = UIImage.FromFile ("wheel.png").CGImage;
layer.ContentsGravity = CALayer.GravityResizeAspectFill;
View.Layer.AddSublayer (layer);
//指针图片
var imageView = new UIImageView (UIImage.FromBundle("hand_pointer_down.png"));
imageView.Frame = new CoreGraphics.CGRect (
40,
0,
imageView.Image.CGImage.Width,
imageView.Image.CGImage.Height
);
View.Add (imageView);

编辑按钮动作


//定义随机数值
double dou = new Random().NextDouble();
//轮盘旋转圈数
float round = 200f;
//起始值初始化
float v1 = 0f;
//结果值初始化,
float v2 = (float)Math.PI * round * Convert.ToSingle(dou);
//如果已执行过,下次旋转的初始值为此次执行结果值
if(init == true){
v1 = lastFloat;
}

//Creates basic moving animation

//定义animation动作
var basicAnimation = CABasicAnimation.FromKeyPath ("transform.rotation");
basicAnimation.TimingFunction = CAMediaTimingFunction.FromName (CAMediaTimingFunction.EaseInEaseOut);
//定义轮盘初始值
basicAnimation.From = NSNumber.FromFloat (v1);
//定义轮盘结果值
basicAnimation.To = NSNumber.FromFloat (v2);
//animation运行时间,数字越大动作越慢
basicAnimation.Duration = 2;
init = true;
lastFloat = v2;

//锁定结束位置
layer.Transform = CATransform3D.MakeRotation (lastFloat, 0, 0, 1);
layer.AddAnimation(basicAnimation, "transform.rotation");

执行结果

5. 参考来源

Create a Keyframe Animationhttps://developer.xamarin.com/recipes/ios/animation/coreanimation/create_a_keyframe_animation/


转载自:昕力大学

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Xamarin一个跨平台的移开发框架,可以用它来开发 iOS、Android 和 Windows 的应用。要用 Xamarin一个计算器,需要具备一定的编程知识和 Xamarin 的相关知识。 ### 回答2: 使用Xamarin可以利用C#语言来编写一个计算器应用程序。首先,可以创建一个Xamarin.Forms项目,该项目将允许开发人员使用共享的代码库来构建跨平台的应用程序。 在创建项目后,可以在XAML文件中设计应用程序的用户界面。可以添加按钮、文本框和标签等控件来创建计算器的界面。 接下来,可以在C#代码中实现计算器的逻辑。可以在按钮的点击事件处理程序中编写代码来处理用户的输入和计算。例如,当用户点击一个数字按钮时,可以将相应的数字添加到计算器的显示文本框中。当用户点击运算符按钮时,可以将其存储为当前的操作符,并将当前输入的数字存储为操作数。当用户点击等号按钮时,可以根据当前的操作符进行相应的计算并更新显示文本框的结果。 此外,还可以添加其他功能,如清除按钮用于清除当前操作数和操作符,以及小数点按钮用于处理小数计算等。 最后,可以在Android和iOS设备上运行和测试应用程序。Xamarin提供了强大的跨平台支持,开发人员可以在一个代码库中构建适用于不同操作系统的应用程序。 总之,使用Xamarin可以方便地编写一个计算器应用程序,并实现基本的计算功能。通过共享代码库,可以轻松地将应用程序运行在多个平台上,并为用户提供一个易于使用和功能齐全的计算器应用程序。 ### 回答3: Xamarin是一种跨平台的移应用开发框架,可以使用C#语言来开发iOS、Android和Windows平台的应用程序。使用Xamarin可以实现一个简单的计算器应用程序。 首先,我们可以使用Xamarin.Forms来创建一个跨平台的用户界面。在XAML文件中定义计算器的布局,包括按钮、标签和输入框等。可以设置按钮的点击事件来响应用户输入。 接着,我们可以编写C#代码实现计算器的逻辑。定义一个Calculator类,包含各种运算方法,例如加法、减法、乘法和除法等。根据用户的输入,在按钮点击事件中调用相应的计算方法,并更新显示结果的标签。 在iOS和Android平台上,需要适配不同的屏幕大小和分辨率。可以使用Xamarin的屏幕适配特性,例如自布局和约束布局,来确保计算器的界面在不同平台上都能正确显示。 最后,使用Xamarin的调试工具可以在模拟器或真机上运行和测试应用程序。可以检查用户输入的合法性,并给出相应的错误提示。同时,可以进行性能优化,确保计算器应用程序的运行流畅且稳定。 总而言之,使用Xamarin可以方便地编写一个跨平台的计算器应用。通过XAML文件定义界面布局,使用C#编写逻辑代码,结合Xamarin的屏幕适配和调试工具,可以实现一个功能完善的计算器应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值