在Xcode 8 beta中看到新界面构建器的大小类选项时,我有点困惑.我曾经通过首先在"任何"大小类中设计它们来构建我的应用程序的UI,然后在其他类型中进行一些自定义调整.是否应该在这个新版本的Xcode中更改工作流程?
我根据这篇文章使用了自定义流程布局.这是我的实现:
@implementation CustomLayout
-(void)prepareLayout{
[super prepareLayout];
// [self invalidateLayout];
if(self.collectionView){
CGSize newItemSize=self.itemSize;
// Number of items per row
int itemsPerRow=3;
float totalSpacing=self.minimumLineSpacing*(itemsPerRow-1);
newItemSize.width=(self.collectionView.bounds.size.width -totalSpacing)/itemsPerRow;
if(self.itemSize.height>0){
float itemAspectRatio=self.itemSize.width/self.itemSize.height;
newItemSize.height=newItemSize.width/itemAspectRatio;
}
[self setItemSize:newItemSize];
}
}
@end
Run Code Online (Sandbox Code Playgroud)
我必须编写一个异步方法来与 Web 服务联系。这是我在 WebServiceHelper 类中的方法:
public static Task<int> SignIn(string username, string password)
{
try
{
TaskCompletionSource<int> tcs = new TaskCompletionSource<int>();
service.LoginCompleted += (object sender, WebService.LoginCompletedEventArgs e) =>
{
if (e.Error != null) tcs.SetResult(-1);
else
tcs.SetResult((int)e.Result);
};
service.LoginAsync(username, password);
return tcs.Task;
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我在一个按钮点击事件中调用它,如下所示:
private async void btLogIn_Click(object sender, RoutedEventArgs e)
{
try
{
int si = await WebServiceHelper .SignIn(tbUsername.Text, tbPassword.Text);
if (si != 0) MessageBox.Show("Signed in successfully!");
else MessageBox.Show("Couldn't …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的坦克游戏2D(Unity)构建一个在线游戏服务器.在我的游戏中,将有2-4名玩家控制他们的坦克并互相争斗.
我试过使用Unity网络,它不适合我的游戏,因为我们必须选择房间里的1个玩家成为"服务器",这对我未来的发展来说并不是很灵活(例如当"服务器"退出,我必须做很多工作来保持其他玩家之间的联系).
然后我尝试用Nodejllàsocket.io构建我自己的服务器,用于服务器 - 客户端通信.它非常简单:从一个接收数据并将其广播到其他人.它似乎工作正常,直到物理部分进入:服务器必须信任客户端,当他们说有什么东西被击中或爆炸,然后广播到其他客户端.更不用说受骗的客户端,由于网络延迟,客户端的物理模拟会有所不同.例如,一个坦克可能会被撞到这个客户端,但它应该被覆盖在另一个的墙后面并保持活着,但是由于潜伏期,他身后的坦克会抓住子弹并爆炸.在这些情况下,服务器不知道要收听哪一个.
总之,我需要一个关于我的游戏服务器的建议:
我是否正确的方向,因为看起来像一些游戏服务器服务(如Photon,Unity网络)只是不关心如何在服务器上实现游戏逻辑.它是否使它们不是权威服务器?
我对这个领域很新,任何事都会受到赞赏!
我们可以NSMutableArray通过使用removeObjectsInArray:函数删除多个元素.是否NSMutableSet有任何类似的功能?
我现在正在考虑一个适用于iOS的应用程序,该应用程序可以通过URL链接向其他人(没有Internet连接)发送短信,以便在他们点击链接时让他们离线指向我在原生地图应用中的位置.我知道可以使用这种URL完成:
http://maps.apple.com/maps?saddr=<their location>&daddr=<my location, filled by my app>
Run Code Online (Sandbox Code Playgroud)
当然,我可以saddr留空,让他们从自动完成列表中选择他们当前的位置作为起始点,但是他们还需要再迈出一步才能获得方向.我只想确保给他们最方便的方式.
如何引导原生地图应用程序通过此URL自动获取SMS接收者用户的当前位置?我需要这样的东西:
http://maps.apple.com/maps?saddr=current_location&daddr=<my location, filled by my app>
Run Code Online (Sandbox Code Playgroud)
我也想将此链接发送给其他平台用户,就像我可以使用的Android用户一样:
http://maps.google.com/maps?saddr=current_location&daddr=<my location, filled by my app>
Run Code Online (Sandbox Code Playgroud)
Windows Phone(我还不知道):
http://maps.???.com/maps?saddr=current_location&daddr=<my location, filled by my app>
Run Code Online (Sandbox Code Playgroud)
任何关键字或答案将非常感谢!
ios ×4
objective-c ×2
.net ×1
cocoa-touch ×1
game-engine ×1
google-maps ×1
maps ×1
multiplayer ×1
wcf ×1
xcode ×1