PureBasic 4.60
Версия реализации PureBasic языка программирования Basic7 ноября 2011 года, компания “Fantaisie Software” выпустила версию PureBasic 4.60. По сравнению с предыдущими версиями, в этой, был довольно сильно модифицирован встроенный 3D движок, созданный на основе OGRE. Так-же был добавлен новый гаджет (контрол) — CanvasGadget.
Полный список изменений
added: a brand new ‘3D’ example folder
added: ‘Joint’ library
added: ‘SpecialEffect’ library
added: ‘StaticGeometry’ library
added: CameraPitch(), CameraRoll(), CameraYaw(), SwitchCamera()
added: ApplyEntityForce(), ApplyEntityImpulse(), EntityPitch(), EntityRoll(), EntityYaw()
added: GetEntityAttribute(), GetEntityMaterial(), SetEntityAttribute(), SetEntityMaterial()
added: LightDiffuseColor(), SpotLightRange(), LightLookAt(), DisableLightShadows()
added: MaterialDepthWrite(), MaterialSelfIlluminationColor(), MaterialShininess(), GetScriptMaterial()
added: CreateLine3D(), CreateCube(), CreateSphere(), CreateCylinder(), CreatePlane()
added: MeshVertexCount(), UpdateMeshBoundingBox(), MeshRadius(), AddMeshVertex()
added: MeshVertexNormal(), MeshVertexColor(), AddSubMesh(), BuildMeshShadowVolume()
added: MeshVertexTextureCoordinate(), AddMeshFace(), FinishMesh(), NormalizeMesh()
added: SaveMesh(), SetMeshMaterial(), SubMeshCount(), TransformMesh()
added: NodePitch(), NodeRoll(), NodeYaw(), GetScriptTexture(), TextureOutput()
added: EntityCollide(), RayCollide
added: OpenGL renderer To the 3D library on Windows, when using the OpenGL subsystem
added: CanvasGadget(), CanvasOutput()
added: SetGadgetItemData() For PanelGadget
added: MoveElement(), MergeLists(), SplitList()
added: RandomizeList(), RandomizeArray(), DoubleClickTime()
added: PushListPosition(), PopListPosition(), PushMapPosition(), PopMapPosition()
added: ImageID parameter To OpenSubMenu()
added: #PB_ListIcon_ThreeState And #PB_ListIcon_Inbetween
added: #PB_Tree_ThreeState And #PB_Tree_Inbetween
added: crossplatform ComboBox events
added: ‘DeclareC’ keyword For completness
changed: FindString() ‘StartPosition’ parameter To be optional
changed: WebGadget To use WebKitGtk on Linux
changed: ContainerGadget With #PB_Container_BorderLess To no longer add a 2px invisible border on Linux
changed: EntityPhysicBody(), CreateLight(), RenderWorld(), ShowGUI(), WorldShadows()
changed: EntityMaterial() To SetEntityMaterial()
removed: Get/SetEntityMass(), Get/SetEntityFriction()
removed: SetMeshData()
fixed: Many bugs
IDE: * added: IDE options For commandline project building added: monitoring of files For changes on disk While they are open in the IDE added: FilePanel custom implementation With Drag & Drop, Dropdown menu, scrolling also on OSX added: Diff tool For directories/files added: Html help viewer For Linux/OSX added: Help viewer in toolspanel added: new Color Picker tool added: enabled font selection in IDE For OSX added: ProjectPanel now remembers node expanded states
Debugger: added: maximize button To all debugger windows added: all IsXxx() And XxxID() functions To the expression parser (For Data breakpoints)
Примеры:
Hello, World! - Basic (422):
“Hello, World!” с выводом в консоль.
OpenConsole() ; Создание консольного окна.
Print("Hello, World!") ; Вывод текста в консоль.
Input() ; Ожидание нажатия Enter.
Hello, World! - Basic (423):
“Hello, World” в окне программы.
OpenWindow(0, 0, 0, 200, 100, "Hello, World", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
TextGadget(0, 10, 40, 180,16, "Hello, World", #PB_Text_Center)
Repeat
Event = WaitWindowEvent() ; ID события программы.
Until Event = #PB_Event_CloseWindow ; Если получено событие закрытия окна, то прерываем цикл.
Комментарии
]]>blog comments powered by Disqus
]]>