R/C Simulation with your own R/C Transmitter
SmartPropoPlus was designed for the Remote Control (R/C) community. In enables you to use your own R/C transmitter (a.k.a. Controller) to control your simulator.
Using your transmitter, rather than a standard joystick, gives you a more realistic simulation experience.
- Get ready for an adventure with Zooba: a fun free action-packed online multiplayer survival game! Zooba is a great free multiplayer survival battle royale game and combines MOBA play style (Multiplayer Online Battle Arena) to gives players an adrenaline-filled battle royale survival adventure! Zooba is a fast-paced online multiplayer survival game, download it and play for free!
- Get ready for an adventure with Zooba: a fun free action-packed online multiplayer survival game! Zooba is a great free multiplayer survival battle royale game and combines MOBA play style (Multiplayer Online Battle Arena) to gives players an adrenaline-filled battle royale survival adventure! Zooba is a fast-paced online multiplayer survival game, download it and play for free!
Download 15,210,892 registered players, 32,642 currently online in 1,174 games the bestest free-to-win rhythm game. Overview: Play games your way! “GameGuardian” is a game hack/alteration tool. With it, you can modify money, HP, SP, and much more. You can enjoy the fun part of a game without suffering from its unseasonable design.
The transmitter hooks to your computer's audio input (e.g. Microphone socket) – you just have to buy or create a suitable cable.
SmartPropoPlus is compatible with most transmitters and runs on Vista (SP2), Windows 7, Windows 8, Windows 8.1 and Windows 10.
SmartPropoPlus is free, open source software that is under constant development since 2006 and has thousands of users.
Page Content |
Advantages & Disadvantages |
Advantages & disadvantages
There are nowadays only two physical ways to connect to your computer, namely USB and Audio (e.g. Microphone). All other options such as Parallel, serial and games ports are now obsolete.
Most vendors offer to connect a controller to the USB port. SmartPropoPlus does not. SmartPropoPlus is the only way I know of to connect a controller via the computer audio input. SmartPropoPlus does not support USB.
Here is a table comparing between the typical USB solution and SmartPropoPlus:
USB Solution | SmartPropoPlus | Remarks | |
Input socket | USB | Audio (e.g. Microphone) | |
Required Software | Part of the solution | SmartPropoPlus (Includes vJoy) | |
Required Hardware | Special USB cable which is a part of the solution | Homemade cable | |
Price | $ | Only the price of the cable | In most cases, the cable will cost you between 50c to $8 |
Experience | Usually not your own transmitter | Your own transmitter | Most USB solution come with a basic controller. It will definitely have a different look & feel than your own transmitter |
Quality | Perfect | Good (PPM) to perfect (PCM) | If you have a PPM transmitter, SmartPropoPlus will give you about 25 steps per stick which is good. |
Configuration | Plug-n-Play | Not Plug-n-Play | You will have to spend a moment configuring SmartPropoPlus. |
Requirements
There are a few requirements that your system should meet. Make sure it does before starting:
Computer:
Operating System: Vista + SP2 or newer
Sound card with a microphone and/or Line-in input socket. (Mono or Stereo).
Simulator:
Any simulator that can be controlled from a joystick.
Cable:
Create or buy according to the Cables section
Transmitter:
Most transmitters will fulfill the following requirements:
Should be equipped with trainer socket
Supports one of the following modulation types:
Standard PPM (all types)
Walkera Non-standard PPM (Transmitters WK-24xx)
PCM (Walkera, JR, Futaba, Sanwa, Airtronics)
Note: Most 2.4GHz are standard PPM
Caution:
Two things may damage your transmitter – overloading the RF circuits & overloading the trainer circuit.
You may avoid both hazards very easily.
RF Circuit:
Your transmitter should not transmit while simulating. Some transmitters RF circuit is automatically disconnected when you plug the cable into your trainer socket. Other transmitters will require you to temporarily remove the crystal or the RF unit.
If you are not certain your RF circuit is disconnected – extend your transmitter's antenna while it is on.
Trainer Circuit:
The only way to damage this circuit is by using a wrong cable. Make sure you use the right cable. Note that different cables may have identical look while being electrically different. Make sure you use the right cable.
And now...
Go to the Set-Up section where you will be instructed about the cable, what software you need to download and how to install and configure it all.
At this point you will probably be using your simulator. Enjoy.
In this tutorial we will learn how to detect when a sprite collides with another. In our game we will make the ball bounce on the racquet. We will also make the game finish if the ball gets to the lower border of the canvas, showing a popup window with the classic message 'Game Over'.
Game Over
Below we can see our class Game, which is exactly the same as the previous one, with the only difference that this one has a gameOver() method;
The gameOver() method launches a popup using JOptionPane.showMessageDialog with the message 'Game Over' and an 'Accept' button. After the popup, System.exit(ABORT) makes the program finish. The gameOver() method is public, because it will be called from the sprite 'Ball' when it detects that it has got to the lower border of the canvas.
Sprite collision
To detect the collision between the ball and the racquet we will use rectangles. In the case of the ball we will use a square around the ball as you can see in the figure 2.
The class java.awt.Rectangle has an intersects method(Rectangle r) which returns true when two rectangles occupy the same space, like in the case of the figure 3 or 4. This method is not quite exact, because as you can see in the figure 4, the ball doesn´t touch the racquet, but for our example it it more than enough.
Below we can see the Racquet class, with the only difference that we have added a getBounds() method, which returns a rectangle type of object, indicating the position of the racquet. This method will be used by the sprite 'Ball', to know the position of the racquet and in this way to detect the collision.
Another small change is the inclusion of constants:
As we said before, the value of the 'y' position, was fixed to 330. This value is used both in the paint method as in getBounds. When we create a constant, the good thing is that if we want to change the value, we only have to change it in one place. In this way we avoid the possible error of changing it in one place and not changing it in another.
The way of defining a constant is declaring a 'static final' property and writing it in upper case. The compiler allows us to use lower case, but the standar says we use upper case for the constants.
Lastly, the Ball class:
In a similar way, we have included the getBounds() method and the DIAMETER constant to the class 'Racquet'.
Download Tai Game Beginner Smart Dots Tv
More interesting is the inclusion of the new method called collision() which returns true, if the rectangle occupied by the racquet 'game.racquet.getBounds()' intersects with the rectangle occupied by the ball 'getBounds()'.
If the collision takes place, we will change the direction and the position of the ball. If the collision occurs on the side (figure 1), the ball could be several pixels below the upper side of the racquet. In the following game loop, even if the ball moved upwards (figure 2), it could still be in collision with the racquet.
To avoid this, we will place the ball on top of the racquet (figure 3) using:
The 'Racquet' getTopY() method gives us the position in the 'y' axis of the upper part of the racquet, and if we discount the DIAMETER, we obtain the exact position where to put the ball so that it is on top of the ball.
Lastly, it is the move() method of the 'Ball' class which uses the new methods collision() and gameOver() of the 'Game' class. The bounce when it gets to the lower border is replaced by a call to game.gameOver().
And including a new conditional using the collision() method, we get the ball to bounce upwards if it collides with the racquet:
If we run the example we can see:
Download Tai Game Beginner Smart Dots 2
<< Adding the sprite 'racquet' | Adding sound to our game >> |