- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如何创建以均匀速度向右移动/滚动可见图像部分的动画?或者更确切地说:如何使 UIScrollView 向右动画?
示例:图像宽度为 4968 像素。该图像用作全屏背景图像。一开始只能看到 4968 像素(图像宽度)的前 1242 像素。可 View 像部分应以匀速向右移动。在任何时候,图像的 1242px 都是可见的。当到达图像末尾时,应重复此过程。
到目前为止,这是我的代码。理解我要完成的东西没有用,因为它不完整,但你看到我在功能更新等中使用了它。
override func update(_ currentTime: TimeInterval) {
if gameStarted == true {
enumerateChildNodes(withName: "background", using: ({
(node, error) in
let bg = node as! SKSpriteNode
bg.position = CGPoint(x: bg.position.x - 2, y: bg.position.y)
}
}))
}
}
最佳答案
如果你想让游戏背景以匀速移动,你根本不需要UIScrollView
。
但是,要使其顺利迭代,您必须同时持有两张图片。
var imageWidth : Float = 4968
var viewPortWidth : Float = 1242
var velocity : Float = 10
var currentNodeIndex : Int = 0
let backgrounds : [String] = ["background0", "background1"]
var currentNodeName : String {
get {
return backgrounds[currentNodeIndex]
}
}
func setup() {
node : SKNode = SKSpriteNode(imageNamed:"backgroundImage")
node.name = "background0"
node1 : SKNode = SKSpriteNode(imageNamed:"backgroundImage")
node1.name = "background1"
addChild(node)
addChild(node1)
node.position = CGPoint(x: imageWidth, y: 0)
node1.position = CGPoint(x: 0, y: 0)
}
override func update(_ currentTime: TimeInterval) {
if gameStarted == true {
backgrounds.forEach {
enumerateChildNodes(withName: $0, using: {(node, error) in
node.position = CGPoint(x: node.position.x - velocity, y: node.position.y)
})
}
}
}
private func rollImageAroundIfNeeded() {
if needsRollImages() {
rollImagesAround()
}
}
private func needsRollImages() -> Bool {
node : SKNode = childNode(withName:currentNodeName)!
return node.position.x < 2 * (screenWidth - imageWidth)
}
private func rollImageAround() {
node : SKNode = childNode(withName:currentNodeName)!
node.position = CGPoint(x: node.position.x + 2 * imageWidth, y: node.position.y)
currentNodeIndex = (currentNodeIndex + 1) % 2
}
这个想法是,您连续将两个图像的位置向左移动,并在某个阈值处将左图像“包裹”到右侧。
关于swift - 向右动画 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40049720/
有没有人知道那里有预览@page CSS 规则的工具?如果做不到这一点,有什么东西可以用来打印完全支持这些规则的文档吗? http://www.w3.org/TR/CSS2/page.html 歌剧最
出于某种原因,当我向我的元素添加右/左浮动时,它会在下一行的图像元素后面显示它们。 这是实际的事件页面: http://www.dealerbyte.co.uk/used-cars.php 代码如下:
我想知道是否可以使用下面的 onTouch 方法来检测用户是否在屏幕上向左、向右、向上或向下移动手指。我有一个包含对象的网格,我只希望用户能够在四个方向上移动其中一个对象。 我的想法是使用 Actio
我想获取div的鼠标坐标,如下所示: $("#box").mousemove(function(e){ var x = e.pageX - this.offsetLeft; var y = e.pag
到目前为止,我有一个可以左右前后移动的玩家,但是我如何设置它是向前的,就像在网格上一样向前,而不是在我的玩家注视的地方向前。我将相机设置为 FPS,它跟随玩家。现在我想让玩家能够使用我的 MouseL
在水平时间轴 slider jquery 中,我希望默认情况下它是右向的。就像现在的图片,2015 年的价格就在右边。我希望默认选择最右边的 2017 年价格,用户可以向左滚动 我的代码 $('.ti
我正在尝试为纸牌游戏(Yu-Gi-Oh :D)制作一个牌组管理器,目前我只有一个包含可用纸牌的表格和一个面板,该面板以更大的尺寸显示用户选择的纸牌以及纸牌的描述。MVCE: import ja
我有一个从简单手势扩展的类,我正在使用 onfling 方法: class MyGestureListener extends GestureDetector.SimpleOnGestureListe
我很懒惰,讨厌每 5 秒就必须将右手移到箭头键或鼠标上来移动光标和编辑文本。有什么方法可以让我的手保持在打字位置并四处移动光标? 最佳答案 您可以在特定的首选项窗口中更改这些设置: windows -
这是我的第一个应用程序,我尝试进行从右到左或从左到右的翻译。 这是代码 Res > anim > translate_left Res > anim > translate_right
我有以下代码: out of bound :( 我不希望它穿过 window 。我需要它的右边框保持可见。 JSFiddle 链接:http://jsfiddle.net/9SZAB/ 最佳答案
我正在尝试让我的导航图标菜单按钮在 THIS IS A LOGO Home About
因为我自己的代码有问题,所以我正在研究以下链接: https://bost.ocks.org/mike/path/ 我想我已经低于 // push a new data point onto the
所以首先这就是我要实现的目标 我想保持 Logo 在网页中间居中,搜索栏向右拉(下面有文字)这是我目前拥有的代码: http://jsfiddle.net/62b4jf1n/
这个问题在这里已经有了答案: Android: How to handle right to left swipe gestures (22 个回答) 关闭4个月前。 我有一个 Android 应用程
我正在尝试创建一个控件,用户可以在该控件中触摸并移动框架内的按钮。这是我的代码。 - (void)wasDragged:(UIButton *)button withEvent:(UIEvent *)
我正在使用svg创建一个几何campass工具,其中有3个btns,1) 用于移动位于中心的整个营地2) 增加圆的半径3)用于旋转圆的半径4)根据第4个btn的位置使用路径(svg)绘制圆,该位置始终
无论分辨率如何,我都试图将此框移到屏幕的右侧,但我找不到答案。 我的代码是这样的 wp_get_archives( array( 'type' => 'postbypost',
我正在为 Qt 按钮小部件编写弹出菜单。每当单击按钮时,都会弹出一个菜单(在按钮下方)。 弹出菜单默认位于下方左侧。 有没有办法让弹出菜单在按钮下方的右侧弹出? 没有设置位置功能,所以我想知道是否有一
我正在尝试使用 jQuery 构建一个扫雷游戏,我成功地使用 event.which 处理了左右点击,但是是否可以同时检测到左右按钮的点击? 最佳答案 我怀疑你是否会同时获得两者,一次会先出现,即使相
我是一名优秀的程序员,十分优秀!