You have a datawindow. Datawindow has an Autosize Height set to Details band. You insert a row, set a long string value to some field expecting that field to be auto-sized. And it is, but you don't see a text as Details band does not auto-size. What to do? Whan way to fix this is to call Sort() somewhere after you set v the value fro the datawindow to refresh and auto-size to take effect. But that does not work all times ( for example ... you dont want to sort data now). Another way is to set: dw.Modify ( 'DataWindow.Header.Height.AutoSize=yes') This will also make datawindow to resize all the bands and auto-size will take effect then.
If You were wondering if Ikea Billy Bookcase (Article Number: 390.178.39) would fit to transport in WV Passat station wagon than answer is Yes, I would guess even maybe 2 or 3 bookcases would fit there (though you have to move front passenger seat as far as possible). Packages: 6 Article Number Packages Width Height Length Diameter Weight 50263838 3 15 ¼ " 39 cm 2 ½ " 6 cm 81 ¼ " 206 cm - 47 lb 7 oz 21.53 kg 90263860 3 14 " 35 cm 2 ¾ " 7 cm 14 ¼ " 36 cm - 9 lb 4 oz 4.19 kg
In the last part we created moving player tank in our city, but it can move anywhere through the walls without any collision. So in this part we will investigate hwo to enable collision detection between our player tank and city walls. Also we will enable and outputt some debugging information to better understand what exactly happens on our map. To enable collision between our tank and walls/city we have to enable collision for tiles ( now we will just enable collision for all tiles of our tile set ). In create function, after add tileset, add: [code lang="js" htmlscript="true"]map.setCollisionBetween(1, 10000);[/code] Also we have to enable player tank physics, in create function, after game add sprite, we add: [code lang="js" htmlscript="true"] game.physics.enable(player_tank); player_tank.body.collideWorldBounds = true; [/code] In update function we add collision check of player vs layer: [code lang="js" htmlscript="true"] game.physics.arcade.collide(player_tank, layer); [/code] One note: after doing all this, collision still was not working. I found that it was realated to scaling. You should change layer.scale.set(2); to layer.setScale(); and it is fixed. Debugging collision. To see collision rectangles you could add [code lang="js" htmlscript="true"] layer.debug = true; [/code] after layer creation and also add a render callback function (in…
This will be a little go back to setting up development environment. I have noticed that in some networks c9users.io is blocked by network providers firewall, that complicates developing using Cloud9 - you will net be able to preview your project. Another good tool you could use is Visual Studio Code. Download the tool, install it. As we already have our project in github, just select Clone Git repository, enter your repository url and credentials and that is it. To have a quick way of previewing of our project without moving to server you can go to Extensions, search for Live Server Extension. By pressing Go Live you will be able to quickly host your files and preview locally. Visual Studio Code has nice source control integration so you will be able to view your changes and commit and push them from UI.
In this part we will create our player tank, add animation of our moving tank (moving left, right etc) and perform actual tank movement on pressing of corresponding cursor keys. In preload function we should load our spritesheet. Actually it is the same image as we used for tilesheet and same spritesheet will be used for our player and enemy tank sprites and animations. [code lang="js" htmlscript="true"] // load spritesheet for our player and enemies, all of them use same spritesheet game.load.spritesheet('tanks', 'assets/tilemaps/tiles/battlecity_general.png', 16, 16); [/code] Next we should declare some new variables, one for our player tanks and one for cursor keys. [code lang="js"] var player_tank; var cursors; [/code] In a create function we will create our player tank, define animations for our player tank movements. Also here we will create object responsible for reading cursor keys. Enable our player tank physics, set scale of our player tank sprites. [code lang="js"] //create cursor key handler cursors = game.input.keyboard.createCursorKeys(); //create our player tank, position it at x,y and use sprite sheet 'tanks' player_tank = this.game.add.sprite(128, 448, 'tanks'); //enable physics for our player sprite so we could move it etc game.physics.arcade.enable(player_tank); //set initial frame for our player sprite player_tank.frame =…
Some notes I made watching The Spectrum Show. New games: Antiquity Jones 2012 Paul Jenksinson More Tea Vicar 2012 Cronosoft Future Looter 2011 Timmy Alter Ego 2011 RetroSouls Genesis: Dawn of a new day 2010 RetroWorks Interesting old games: Glug Glug 1984 CRL Ninja Hamster 1987 CRL Worth remembering: Arcade Pac-Man emulator for ZX Spectrum Arcade game designer 2008 Chronosoft
If you are interested in retro computing, especially Sinclair ZX Spectrum computing, I highly recommend Paul Jenkinson The Spectrum Show if you haven't found it yet. It is very well made series with a nice structure: news of that era, software comparison, game reviews, new software reviews etc. Highly recommend. https://www.youtube.com/watch?v=UhIHy-pyMwo
Here you can find Lee Pro 1000 primer pusher plans forn NotAnExpert Youtube channel: Original video describing this Lee Pro 1000 modification: https://www.youtube.com/watch?v=TEyRL9Cfo5o&t=123s
To call .NET for PowerBuilder best option is to create Class Library in Visual Studio. Sign it. In project properties, Application, Assembly Information..., check "Make assembly COM-Visible". Sign it class library (project properties, Signing...). In project properties, Application, Assembly Information..., check "Make assembly COM-Visible". Optional, add these attributes to your class: [ComVisible(true)] [ClassInterface(ClassInterfaceType.AutoDual)] [ProgId("ClassLibrary1.Class1")] Register created DLL in command lime like: regasm /tlb "path/to/dll/file.dll" /codebase Use it from PowerBuilder like: [code] OLEObject obj Integer li_rc obj = CREATE OLEObject li_rc = obj.ConnectToNewObject("ClassLibrary1.Class1") IF li_rc < 0 THEN DESTROY obj MessageBox("Connecting to COM Object Failed", "Error: " + String(li_rc)) Return MessageBox("Connecting to COM Object Failed", "Error: " + String(li_rc)) Return Return ELSE obj.ShowMe()END IF obj.ShowMe() END IF [/code] To call some web service from this DLL you add service reference and then: [code lang="csharp"] BasicHttpBinding binding = new BasicHttpBinding(); EndpointAddress address = new EndpointAddress("http://web-service-url"); var client = new ServiceReference1.YourWebServiceClient(binding, address); var b = client.YourWebServiceMethod(); [/code]