我试图通过使用KeyListener为学校课程的最终项目使用键盘输入在屏幕上移动图像。这适用于分别按a和d左右移动图像,但不适用于分别按w和s向上和向下移动。
我已经尝试注释掉a和d传感器,以查看它们是否以某种方式屏蔽了w和s传感器,但这没有用。我认为我的“ y”坐标的设置方式存在问题,但是我不确定如果要解决该问题该怎么做。
import AVFoundation
var captureSession: AVCaptureSession!
var videoPreviewLayer: AVCaptureVideoPreviewLayer!
override func viewDidLoad() {
super.viewDidLoad()
captureSession = AVCaptureSession()
guard let captureDevice = AVCaptureDevice.default(for: .video) else {return}
let videoInput: AVCaptureDeviceInput
do {
videoInput = try AVCaptureDeviceInput(device: captureDevice)
} catch {
// handle error
return
}
if (captureSession.canAddInput(videoInput)) {
captureSession.addInput(videoInput)
} else {
// handle error
return
}
let metadataOutput = AVCaptureMetadataOutput()
if (captureSession.canAddOutput(metadataOutput)) {
captureSession.addOutput(metadataOutput)
metadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
metadataOutput.metadataObjectTypes = [.qr]
} else {
// handle error
return
}
videoPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
videoPreviewLayer.frame = view.layer.bounds
videoPreviewLayer.videoGravity = .resizeAspectFill
view.layer.addSublayer(videoPreviewLayer)
captureSession.startRunning()
}