我收到这个错误代码
错误: Playground 执行中止:错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)。 进程一直停留在中断点,使用"thread return -x"返回到表达式求值前的状态。
这是我的代码:
import Cocoa
import SpriteKit
import PlaygroundSupport
public class Scene: SKScene {
var point = CGPoint(x: 0,y : 0)
let viewFrame = CGRect(x:0,y:0, width: 1080, height: 1080)
override init(size: CGSize) {
super.init(size: size)
//these 3 lines are the problem
let options = [NSTrackingAreaOptions.mouseMoved, NSTrackingAreaOptions.activeInKeyWindow] as NSTrackingAreaOptions
let tracker = NSTrackingArea(rect: view, options: options, owner: self.view, userInfo: nil)
self.view?.addTrackingArea(tracker) //print(self.view!)
//Intro
let welcomeLabel = SKLabelNode(text: "Music Box")
welcomeLabel.fontColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
welcomeLabel.position = CGPoint(x: size.width / 2, y: size.height/2)
welcomeLabel.fontSize = 150
addChild(welcomeLabel)
delay(3.0)
{
let fadeOutAction = SKAction.fadeAlpha(to: 0.0, duration: 1.0)
welcomeLabel.run(fadeOutAction)
self.demo()
}
}
required public init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func demo() {
let songLabel = SKLabelNode(text: "song - SONG NAME")
songLabel.fontColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
songLabel.position = CGPoint(x: size.width / 2, y: size.height/12)
songLabel.fontSize = 50
songLabel.alpha = 0.0
addChild(songLabel)
let fadeInAction = SKAction.fadeAlpha(to: 1.0, duration: 1.0)
songLabel.run(fadeInAction)
self.musicBox()
}
func musicBox() {
let body = SKSpriteNode(imageNamed: "musicBox")
body.size = CGSize(width: 845.0, height: 379.0)
body.position = CGPoint(x: 535, y: 454)
let crank = SKSpriteNode(imageNamed: "crank")
crank.size = CGSize(width: 155.0, height: 188.0)
crank.position = CGPoint(x: 835.0, y: 480)
crank.anchorPoint = CGPoint(x: 0.5 , y: 0.5-0.08)
addChild(body)
addChild(crank)
print(point)
crank.run(
SKAction.repeatForever (
SKAction.sequence([
SKAction.wait(forDuration: 0.1),
SKAction.run({
let angle = atan2(self.point.y - crank.position.y , self.point.x - crank.position.x)
let rotate = SKAction.rotate(toAngle: angle - CGFloat(M_PI_2), duration: 0.25)
crank.run(rotate)
if(!(crank.frame.contains(self.point))) {
self.removeAction(forKey: "New Thread")
}
})
])
),
withKey: "New Thread"
)
}
override public func mouseMoved(with event: NSEvent) {
point = event.location(in: self)
print(point)
}
}
//Delays Animations
func delay(_ delay:Double, closure:@escaping ()->()) {
let when = DispatchTime.now() + delay
DispatchQueue.main.asyncAfter(deadline: when, execute: closure)
}
let scene = Scene(size: CGSize(width: 1080, height: 1080))
scene.backgroundColor = #colorLiteral(red: 0.4078431373, green: 0.7843137255, blue: 0.6509803922, alpha: 1)
scene.scaleMode = .aspectFit
print(Thread.callStackSymbols)
let view = SKView(frame: NSRect(x: 0, y: 0, width: 1920, height: 1080))
PlaygroundPage.current.needsIndefiniteExecution = true
view.presentScene(scene)
PlaygroundPage.current.liveView = view
错误出现在这一行:
let scene = Scene(size: CGSize.init(width: 1080, height: 1080))
错误似乎是由我声明/使用我的 point 变量引起的,但我不知道为什么会这样。
堆栈线程:
Playground execution failed: error: MusicBox WWDC17.playground:10:44: error: cannot convert value of type 'SKView?' to expected argument type 'NSRect' (aka 'CGRect')
let tracker = NSTrackingArea(rect: view, options: options, owner: self.view, userInfo: nil)
^~~~
* thread #1: tid = 0xb837, 0x0000000101cc9360 com.apple.dt.Xcode.PlaygroundStub-macosx`executePlayground, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x0000000101cc9360 com.apple.dt.Xcode.PlaygroundStub-macosx`executePlayground
frame #1: 0x0000000101cc722a com.apple.dt.Xcode.PlaygroundStub-macosx`-[PlaygroundViewBridgeService execute] + 90
frame #2: 0x00007fff9ced43ec CoreFoundation`__invoking___ + 140
frame #3: 0x00007fff9ced4271 CoreFoundation`-[NSInvocation invoke] + 289
frame #4: 0x00007fff9ceed7a6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
frame #5: 0x00007fffb05d395b ViewBridge`__68-[NSVB_ViewServiceImplicitAnimationDecodingProxy forwardInvocation:]_block_invoke + 47
frame #6: 0x00007fffb05f2f4c ViewBridge`__runAnimationGroup_block_invoke + 21
frame #7: 0x00007fff9b350be2 AppKit`+[NSAnimationContext runAnimationGroup:] + 58
frame #8: 0x00007fff9aa1e782 AppKit`+[NSAnimationContext runAnimationGroup:completionHandler:] + 85
frame #9: 0x00007fffb05f2f28 ViewBridge`runAnimationGroup + 303
frame #10: 0x00007fffb05d3462 ViewBridge`+[NSVB_View _animateWithAttributes:animations:completion:] + 507
frame #11: 0x00007fffb05d38dd ViewBridge`-[NSVB_ViewServiceImplicitAnimationDecodingProxy forwardInvocation:] + 156
frame #12: 0x00007fff9ced2daa CoreFoundation`___forwarding___ + 538
frame #13: 0x00007fff9ced2b08 CoreFoundation`__forwarding_prep_0___ + 120
frame #14: 0x00007fff9ced43ec CoreFoundation`__invoking___ + 140
frame #15: 0x00007fff9ced4271 CoreFoundation`-[NSInvocation invoke] + 289
frame #16: 0x00007fff9ceed7a6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
frame #17: 0x00007fffb05a135d ViewBridge`-[NSVB_QueueingProxy forwardInvocation:] + 327
frame #18: 0x00007fff9ced2daa CoreFoundation`___forwarding___ + 538
frame #19: 0x00007fff9ced2b08 CoreFoundation`__forwarding_prep_0___ + 120
frame #20: 0x00007fff9ced43ec CoreFoundation`__invoking___ + 140
frame #21: 0x00007fff9ced4271 CoreFoundation`-[NSInvocation invoke] + 289
frame #22: 0x00007fff9ceed7a6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
frame #23: 0x00007fff9ced2daa CoreFoundation`___forwarding___ + 538
frame #24: 0x00007fff9ced2b08 CoreFoundation`__forwarding_prep_0___ + 120
frame #25: 0x00007fff9ced43ec CoreFoundation`__invoking___ + 140
frame #26: 0x00007fff9ced4271 CoreFoundation`-[NSInvocation invoke] + 289
frame #27: 0x00007fff9ceed7a6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
frame #28: 0x00007fff9ced2daa CoreFoundation`___forwarding___ + 538
frame #29: 0x00007fff9ced2b08 CoreFoundation`__forwarding_prep_0___ + 120
frame #30: 0x00007fff9ced43ec CoreFoundation`__invoking___ + 140
frame #31: 0x00007fff9ced4271 CoreFoundation`-[NSInvocation invoke] + 289
frame #32: 0x00007fffb05f752b ViewBridge`withHintInProgress + 487
frame #33: 0x00007fffb05f725a ViewBridge`__deferNSXPCInvocationOntoMainThread_block_invoke_2 + 233
frame #34: 0x00007fffb0578df2 ViewBridge`+[NSViewServiceApplication withHostPID:invoke:] + 46
frame #35: 0x00007fffb05f711d ViewBridge`__deferNSXPCInvocationOntoMainThread_block_invoke + 179
frame #36: 0x00007fffb05f6d0a ViewBridge`__deferBlockOntoMainThread_block_invoke_2 + 544
frame #37: 0x00007fff9cef67dc CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
frame #38: 0x00007fff9ced77e4 CoreFoundation`__CFRunLoopDoBlocks + 356
frame #39: 0x00007fff9ced7326 CoreFoundation`__CFRunLoopRun + 1878
frame #40: 0x00007fff9ced6974 CoreFoundation`CFRunLoopRunSpecific + 420
frame #41: 0x00007fff9c462a5c HIToolbox`RunCurrentEventLoopInMode + 240
frame #42: 0x00007fff9c462891 HIToolbox`ReceiveNextEventCommon + 432
frame #43: 0x00007fff9c4626c6 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71
frame #44: 0x00007fff9aa085b4 AppKit`_DPSNextEvent + 1120
frame #45: 0x00007fff9b182d6b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
frame #46: 0x00007fffb057a06a ViewBridge`-[NSViewServiceApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 102
frame #47: 0x00007fff9a9fcf35 AppKit`-[NSApplication run] + 926
frame #48: 0x00007fff9a9c7850 AppKit`NSApplicationMain + 1237
frame #49: 0x00007fffb26888c7 libxpc.dylib`_xpc_objc_main + 775
frame #50: 0x00007fffb26872e4 libxpc.dylib`xpc_main + 494
frame #51: 0x00007fffb05a57eb ViewBridge`-[NSXPCSharedListener resume] + 16
frame #52: 0x00007fffb057eeb9 ViewBridge`NSViewServiceApplicationMain + 3022
frame #53: 0x0000000101cc93a2 com.apple.dt.Xcode.PlaygroundStub-macosx`main + 34
frame #54: 0x00007fffb2424255 libdyld.dylib`start + 1
最佳答案
let tracker = NSTrackingArea(rect: view, options: options, owner: self.view, userInfo: nil)
实际上应该是:
let tracker = NSTrackingArea(rect: CGRect(x:0,y:0, width: 1080, height: 1080), options: options, owner: self.view, userInfo: nil)
我将矩形分配给了 SKScene,而不是 CGRect;真是个愚蠢的错误。
关于swift - (SWIFT) 错误 : Playground execution aborted: error: Execution was interrupted, 原因 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, 子代码=0x0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43058306/
在我的mac上安装几个东西时遇到这个问题,我认为这个问题来自将我的豹子升级到雪豹。我认为这个问题也与macports有关。/usr/local/lib/libz.1.dylib,filewasbuiltfori386whichisnotthearchitecturebeinglinked(x86_64)有什么想法吗?更新更具体地说,这发生在安装nokogirigem时日志看起来像:xslt_stylesheet.c:127:warning:passingargument1of‘Nokogiri_wrap_xml_document’withdifferentwidthduetoproto
在MacOS更新之前,它一直运行良好。我重新安装了RVM、rails、ruby等等。到目前为止没有任何效果。在我的Mac终端中,我可以生成一个é,但是在控制台中,我可以生成字符,使用alt+character,然后当我键入字符分配给的字母,它会删除该字符。在我的~/.rvmrc中:exportruby_configure_flags="--with-readline-dir=/usr/local/Cellar/readline/6.2.4"有什么想法吗?到目前为止,我已经明确地让它工作了,包括readline-rb。我猜我的全局要求不工作。gem'rb-readline','~>0.4
行为:Ruby1.9.2p180因“非法指令”而失败,没有其他详细信息。Ruby1.9.1p378运行完全没有问题。失败发生在pin=fronto.index(k)行中,仅在某些迭代中发生。from和into都是对象数组,by是该对象的属性(x或y)。代码:defadd_from_to_byfrom,into,bynto=into.sort_by{|k|k.send(by)}fronto=(from+nto).sort_by{|k|k.send(by)}dict={}nto.each{|k|dict[k]=[]}nto.eachdo|k|pin=fronto.index(k)up=pi
在为一些与JRuby中的临时文件交互的代码运行单元测试时,我有时会得到以下信息:Exception:java.lang.ThreadDeaththrownfromtheUncaughtExceptionHandlerinthread"Thread-6395"它似乎没有引起任何问题,但这是怎么回事,我如何确定它发生在哪里?我尝试打开-d,但这并没有给我异常的堆栈跟踪。 最佳答案 FWIW:这可能与http://jira.codehaus.org/browse/JRUBY-7074有关.我偶尔会在不使用反引号但调用系统的JRuby程序中
我正在尝试安装geoutm使用geminstallgeoutm。Github存储库没有问题页面,所以我尝试自己解决问题然后提交拉取请求。这是问题:$geminstallgeoutmFetching:geoutm-1.0.1.gem(100%)Successfullyinstalledgeoutm-1.0.1ERROR:Whileexecutinggem...(TypeError)noimplicitconversionofArrayintoString它说“已成功安装”,但尝试要求gem失败。详细安装并没有多大用处:$geminstallgeoutm--verboseHEADhttps
Klocwork专为企业DevOps和DevSecOps而构建,是首选的静态分析和SAST工具,用于保持高开发速度,同时还强制实施安全性和质量的持续合规性。在这里,我们分享了开发人员选择Klocwork的五大原因。为什么安全性对软件开发至关重要?安全性对于软件开发至关重要,因为黑客和网络犯罪分子一直在寻找将漏洞转化为利益的方法。强大的软件安全防御的一个关键部分是使用安全编码标准,这些标准是用于防止安全漏洞的规则和准则。如果使用得当,安全编码标准可以检测、预防和消除可能危及安全性的漏洞。行业标准工具(特别是SAST工具)可以有效地实施标准,以帮助确保您的软件免受安全漏洞的侵害。开发人员使用Klo
在Rails控制台中,我正在创建一条记录,然后输入@record.save,我得到的结果是false,但我不明白为什么?RailsC有没有办法输出保存失败的原因?谢谢 最佳答案 通过errors实例方法访问错误。示例:ruby-1.8.7-p334:001>c=Company.new=>#ruby-1.8.7-p334:002>c.save=>falseruby-1.8.7-p334:003>c.errors=>#["can'tbeblank"]}> 关于ruby-on-rails-Ra
我有一个在Heroku上运行的RubyonRails应用程序。我不断在日志中收到这些消息:2015-05-05T16:11:14Zapp[postgres.27102]:[AQUA]connectionreceived:host=xx.xxx.xx.26port=602782015-05-05T16:11:14Zapp[postgres.27102]:[AQUA]connectionauthorized:user=postgresdatabase=somedb2015-05-05T16:11:14Zapp[postgres.27103]:[AQUA]connectionreceived
在Rails3.1中使用Assets管道时,它会创建一个默认的application.js://=requirejquery//=requirejquery_ujs//=require_tree.但我什么时候需要包含我所有的javascript?在大多数情况下,我们对不同的Controller/View使用不同的javascripts? 最佳答案 require_tree.将导致您有一个文件(在本例中为application.js)保存文件夹中的所有脚本。事实上,浏览器只会从您的Web服务器中提取该文件一次(除非您执行Ctrl+R刷
我只是无法更改“密码重置说明”电子邮件的主题。我更改了Mailer中的notifer.rb以覆盖Devise默认电子邮件主题。但它不起作用。在我的应用程序中,Devise.yml文件中有默认的电子邮件主题。但我想通过从数据库中提取数据来动态更改它。 最佳答案 可以在intilizer目录下的devise.en.yml文件中修改并为任何邮件设置您自己的主题mailer:confirmation_instructions:subject:'Confirmationinstructions'reset_password_instructi