Example: /Mac64bit/SceneKit/Change Backgroundcolor by Click

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/Mac64bit/SceneKit/Change Backgroundcolor by Click


Required plugins for this example: MBS Mac64bit Plugin, MBS MacBase Plugin, MBS MacCG Plugin, MBS Main Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Mac64bit/SceneKit/Change Backgroundcolor by Click

This example is the version from Wed, 24th Mar 2020.

Project "Change Backgroundcolor by Click.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class MainWindow Inherits Window
Control MyControl Inherits SCNControlMBS
ControlInstance MyControl Inherits SCNControlMBS
EventHandler Function MouseDown(x as Integer, y as Integer, Modifiers as Integer) As Boolean //Saves the coordinates of the click Dim p As New CGPointMBS(x, y) // Checks if there are objects at this point and list them in an array Dim results() As SCNHitTestResultMBS = myview.hitTest(p) If results <> Nil And results.Ubound >= 0 Then // hit something //Get first item from the array Dim result As SCNHitTestResultMBS = results(0) //Get the background color of the clicked node background = result.node.Geometry.firstMaterial.diffuse.contents //Set the background color MyView.backgroundColor = Background End If End EventHandler
EventHandler Sub Open() // Initialization of the working environment MyView = Me.View MyScene = New SCNSceneMBS MyView.scene = MyScene //Set Backgroundcolor, Default light and allows camera control MyView.backgroundColor = NSColorMBS.blackColor MyView.autoenablesDefaultLighting = True Myview.allowsCameraControl = True // Initialize right sphere in yellow Dim sphere1Geometry As New SCNSphereMBS(1) Dim sphere1 As New SCNNodeMBS(sphere1Geometry) sphere1.Position = New SCNVector3MBS(2, 0, 0) sphere1Geometry.firstMaterial.diffuse.contents = NSColorMBS.yellowColor // Initialize left sphere in blue Dim sphere2Geometry As New SCNSphereMBS(1) Dim sphere2 As New SCNNodeMBS(sphere2Geometry) sphere2.Position = New SCNVector3MBS(-2, 0, 0) sphere2Geometry.firstMaterial.diffuse.contents = NSColorMBS.blueColor //Add both sphere to the scene MyScene.rootNode.addChildNode(sphere1) MyScene.rootNode.addChildNode(sphere2) End EventHandler
End Control
Property Background As NSColorMBS
Property MyScene As SCNSceneMBS
Property MyView As SCNViewMBS
Property count As Integer = 0
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project

The items on this page are in the following plugins: MBS Mac64bit Plugin.


💬 Ask a question or report a problem