我编写了自己的Perlin Noise实现,效果很好.我可以通过改变频率来"缩放"进出,但随着我放大噪音变得更加平滑和顺畅.
假设我有一个展示大陆的景观.我想放大到一个城市大小的区域(或更近),但仍然有细节.我想我需要在更接近的细节上重新生成景观,但我不确定是否有任何实现可以帮助解决这个问题?
放大了,我看到了大陆和海洋,但我希望在小区域内有大区域.
这是我遇到的问题的一个例子(大陆级别):
alt text http://www.blind-games.com/highlevelnoise.jpg
放大:
alt text http://www.blind-games.com/closeinnoise.jpg
放大地图上的某个区域时,如何才能获得丰富的细节?有涉及哪些技术的例子?
我使用SplitView模板创建了我的iPad应用程序.我想知道将我的应用程序限制为横向模式的最佳方法是什么?
我试过shouldAutorotateToInterfaceOrientation:在DetailViewController.m中重写 方法
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
Run Code Online (Sandbox Code Playgroud)
但是4.2 GM仍然是有缺陷的,它无法显示控制器视图.我还有其他选择吗?
提前致谢.
UPDATE1
我已经提交了错误报告: 错误ID#8620135
我的应用程序几乎已经完成,我必须找到一个工作周期,因为我认为他们不会在4.2正式发布之前解决这个问题(GM已经出局!)
为了重新创建bug,只需在任何UIViewControllers(RootViewController或DetailViewControllers)中使用SplitView模板并覆盖上面的方法
UPDATE2
我找到了解决办法.(有关完整的解决方法,请参阅UPDATE3)
设置UISupportedInterfaceOrientations仅支持横向,这将强制应用程序以横向模式启动,允许DetailViewController正确启动(因此显示正确)
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
Run Code Online (Sandbox Code Playgroud)
但是如果你旋转设备,它会变成肖像模式!!!,所以仍然需要覆盖 shouldAutorotateToIntercafeOrientation:如上所述
讨论:
如果这不是一个错误,我会期望在视图控制器不支持的方向启动应用程序时出现警告或执行错误,异常或其他问题.此外,为什么只有DetailViewController不显示?如果这是规范,那么RootViewController也应该无法加载.你不觉得吗?谢谢你的帮助...;)
UPDATE3
经过进一步测试后,我意识到上述解决办法在某些情况下不起作用.例如,当设备处于横向状态时启动应用程序将无法正常工作!真正的问题似乎是在iOS4.2GM中,UISplitViewController需要其所有控制器在其加载时具有所有旋转.因此有必要欺骗他,以便在横向模式下加载,然后不允许他旋转其视图控制器.
所以这是烦人的iBug的新解决方案.
第1步:像这样设置Info.plist:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
Run Code Online (Sandbox Code Playgroud)
Step2在DetailViewController.m或.h中设置一个新标志(来自SplitView模板)
BOOL lockRotation = NO; //WORK-ARROUND: Bug ID# 8620135.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
//WORK-ARROUND: Bug ID# 8620135.
if (lockRotation) {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}else{
return YES;
}
}
- (void)viewDidLoad {
[super viewDidLoad];
//set NO here since this …Run Code Online (Sandbox Code Playgroud) 我正在研究一款将会出现在风景中的iPad应用程序.但是我如何更改以便界面构建器中的窗口处于横向状态?我记得在旧的Interface Builder中我只需要点击一个箭头就可以切换到横向.
我正在使用Xcode 4.
先感谢您!:)
如何让"AVCaptureVideoPreviewLayer"在横向显示时正确显示?它在纵向上工作正常但不旋转,并在父视图控制器处于横向时显示旋转的相机捕获.
我似乎无法找到解决方法.
在移动safari中的ios9上,如果webapp使用position:absolute并且bottom:0内容区域覆盖整个屏幕,则在landscape modesafari导航栏中将覆盖内容的底部并且您无法滚动它 - 它不会以纵向阻止.
那么为什么徒步旅行bottom:0在画像中得到正确而不是风景呢?
我试图从WPF控件生成XPS文档.到目前为止,打印工作,但我找不到在横向模式下创建XPS的方法.
我创建XPS文件的代码,主要来自另一个SO页面
public FixedDocument ReturnFixedDoc()
{
FixedDocument fixedDoc = new FixedDocument();
PageContent pageContent = new PageContent();
FixedPage fixedPage = new FixedPage();
var ctrl = new controlToPrint();
//Create first page of document
fixedPage.Children.Add(ctrl);
((System.Windows.Markup.IAddChild)pageContent).AddChild(fixedPage);
fixedDoc.Pages.Add(pageContent);
//Create any other required pages here
return fixedDoc;
}
public void SaveCurrentDocument()
{
// Configure save file dialog box
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "MyReport"; // Default file name
dlg.DefaultExt = ".xps"; // Default file extension
dlg.Filter = "XPS Documents (.xps)|*.xps"; // Filter files …Run Code Online (Sandbox Code Playgroud) 我想做什么:
为了澄清,我想知道布局目前的方向.布局的底部是哪个方向?是肖像吗?它在景观中吗?景观是左还是右?等等
我能找到的最接近的是Activity.getResources().getConfiguration().orientation,但它只返回三个可能的值.ORIENTATION_LANDSCAPE,ORIENTATION_PORTRAIT或ORIENTATION_SQUARE.它没有说哪种类型的景观.
那么,我想,如果我能得到设备的方向值(如90,180,270等)并将其与上面的配置值进行比较,我可以搞清楚.例如,如果配置值为ORIENTATION_LANDSCAPE且方向为270,我可以判断它处于反向横向模式.但是,似乎没有一种简单的方法来获取方向值.我可以实现一个OrientationEventListener,但这似乎有点过头了,因为我只需要在特定时间获取一次值,而不是经常.
有在显示类两个值但getOrientation被弃用,getRotation仅适用于2.2及以上.
现在,即使我确实得到了这个价值,仍然存在自然景观的设备问题.意味着他们的0值将是风景而不是肖像.所以我还需要一个确定的方法来判断哪个(横向左,横向右或纵向)对应于0.
关于方向和类似问题,有很多关于SO的帖子,但我没有看到任何考虑所有这些问题的帖子.有没有人想到这个?
完成所有操作后,我想要像Activity.getResources().getConfiguration().orientation这样的东西,但能够告诉它是哪种横向模式.
我有一个可以纵向或横向启动的应用程序.我想Default.png文件(应用程序启动时出现的启动图像)以正确的方向显示图像,所以我希望我需要使用两个不同的图像(不同的尺寸).但是,我不知道如何让应用程序根据其启动方向选择要使用的图像.这可能吗?有没有办法知道应用程序的启动方向(在显示启动之前),然后选择正确的图像,或者我只需要解决方法是让图像在其中一个方向上侧向旋转或者有一个图像在90度旋转时无法区分?
我唯一能找到的就是使用它:
android:configChanges="orientation"
android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)
但它保持正常.我的清单:
?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
我有几个活动,TextEdits在纵向模式下,一切都完美显示.但是当我将设备切换到横向模式时,几个视图没有显示(它们被剪切).可以在某种程度上自动添加滚动到视图时设备切换到横向模式?
landscape ×10
ios ×4
android ×3
orientation ×3
portrait ×2
avfoundation ×1
c# ×1
calayer ×1
cocoa-touch ×1
css ×1
html5 ×1
ipad ×1
iphone ×1
java ×1
perlin-noise ×1
rotation ×1
wpf ×1
xps ×1