Hide DAL.x behind Enum
This commit is contained in:
parent
004b1d9662
commit
07fe2645cf
@ -22,13 +22,13 @@ Here's a program that simulates cell life in the LED matrix. Use button ``A`` fo
|
||||
let lifeChart: Image = null
|
||||
|
||||
//Use button A for the next iteration of game of life
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
gameOfLife();
|
||||
show();
|
||||
})
|
||||
|
||||
//Use button B for reseting to random initial seed state
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
reset();
|
||||
show();
|
||||
})
|
||||
|
@ -11,7 +11,7 @@ Let's create a coin flipping program to simulate a real coin toss. We'll use ico
|
||||
Get an ``||input:on button A pressed||`` block from the ``||input:Input||`` drawer in the toolbox. We'll put our coin flipping code in here.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
})
|
||||
```
|
||||
|
||||
@ -22,7 +22,7 @@ Grab an ``||logic:if else||`` block and set it inside ``||input:on button A pres
|
||||
The ``||Math:pick random true or false||`` returns a random ``true`` or ``false`` value which we use to determine a ``heads`` or ``tails`` result for a coin toss.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
if (Math.randomBoolean()) {
|
||||
} else {
|
||||
}
|
||||
@ -34,7 +34,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
Now, put a ``||basic:show icon||`` block inside both the ``||logic:if||`` and the ``||logic:else||``. Pick images to mean ``heads`` and ``tails``.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
if (Math.randomBoolean()) {
|
||||
basic.showIcon(IconNames.Skull)
|
||||
} else {
|
||||
@ -52,7 +52,7 @@ Press button **A** in the simulator to try the coin toss code.
|
||||
You can animate the coin toss to add the feeling of suspense. Place different ``||basic:show icon||`` blocks before the ``||logic:if||`` to show that the coin is flipping.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showIcon(IconNames.Diamond)
|
||||
basic.showIcon(IconNames.SmallDiamond)
|
||||
basic.showIcon(IconNames.Diamond)
|
||||
|
@ -12,7 +12,7 @@ Use ``||input:on button pressed||`` to send a text message over radio with ``||r
|
||||
Every @boardname@ nearby will receive this message.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendString("Yo");
|
||||
});
|
||||
```
|
||||
@ -41,7 +41,7 @@ radio.onReceivedString(function (receivedString) {
|
||||
Press button **A** on the simulator, you will notice that a second @boardname@ appears (if your screen is too small, the simulator might decide not to show it). Try pressing **A** again and notice that the "Yo" message gets displayed on the other @boardname@.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendString("Yo");
|
||||
});
|
||||
radio.onReceivedString(function (receivedString) {
|
||||
|
@ -12,7 +12,7 @@ Code the buttons on the @boardname@ to show that it's happy or sad.
|
||||
Place a ``||input:on button pressed||`` block to run code when button **A** is pressed.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
});
|
||||
```
|
||||
|
||||
@ -21,7 +21,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
Place a ``||basic:show leds||`` block inside ``||input:on button pressed||`` to display a smiley on the screen. Press the **A** button in the simulator to see the smiley.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showLeds(`
|
||||
# # . # #
|
||||
# # . # #
|
||||
@ -37,7 +37,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
Add ``||input:on button pressed||`` and ``||basic:show leds||`` blocks to display a frowny when button **B** is pressed.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
basic.showLeds(`
|
||||
# # . # #
|
||||
# # . # #
|
||||
@ -53,7 +53,7 @@ input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
Add a secret mode that happens when **A** and **B** are pressed together. For this case, add multiple ``||basic:show leds||`` blocks to create an animation.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
# . # . .
|
||||
|
@ -43,7 +43,7 @@ let num = 0
|
||||
basic.forever(() => {
|
||||
basic.showNumber(num)
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
num = num + 1
|
||||
})
|
||||
```
|
||||
@ -59,7 +59,7 @@ Try this on your @boardname@:
|
||||
basic.forever(() => {
|
||||
basic.showNumber(6789)
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showNumber(2)
|
||||
})
|
||||
```
|
||||
|
@ -24,7 +24,7 @@ bluetooth.stopAdvertising();
|
||||
## Example: stop advertising on button pressed
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
bluetooth.stopAdvertising();
|
||||
})
|
||||
```
|
||||
|
@ -27,7 +27,7 @@ bluetooth.onBluetoothDisconnected(() => {
|
||||
basic.showString("D");
|
||||
connected = 0;
|
||||
});
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
if (connected == 1) {
|
||||
bluetooth.uartWriteLine("HELLO");
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ bluetooth.onBluetoothDisconnected(() => {
|
||||
basic.showString("D");
|
||||
connected = 0;
|
||||
});
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
if (connected == 1) {
|
||||
bluetooth.uartWriteString("HELLO");
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ control.inBackground(() => {
|
||||
basic.pause(100)
|
||||
}
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
num++;
|
||||
})
|
||||
```
|
||||
@ -42,7 +42,7 @@ let num = 0
|
||||
basic.forever(() => {
|
||||
basic.showNumber(num)
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
num++;
|
||||
})
|
||||
```
|
||||
|
@ -24,11 +24,11 @@ When you get tired of counting, press button `B` to reset the
|
||||
```blocks
|
||||
let item = 0;
|
||||
basic.showNumber(item);
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
item = item + 1;
|
||||
basic.showNumber(item);
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
control.reset();
|
||||
});
|
||||
```
|
||||
|
@ -9,7 +9,7 @@ An event handler is code that is associated with a particular event, such as "bu
|
||||
Functions named "on <event>" create an association between an event and the event handler code. For example, the following code registers the event handler (the code between the `do` and `end` keywords) with the event of a press of button A:
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showString("hello", 150)
|
||||
})
|
||||
```
|
||||
@ -21,7 +21,7 @@ After this code executes, then whenever button A is pressed in the future, the s
|
||||
Once you have registered an event handler for an event, like above, that event handler is active for the rest of the program execution. If you want to stop the string "hello" from printing each time button A is pressed then you need to arrange for the following code to execute:
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
})
|
||||
```
|
||||
|
||||
@ -32,10 +32,10 @@ The above code associated an event handler that does nothing with the event of a
|
||||
The above example also illustrates that there is only one event handler for each event. What is the result of the following code?
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showString("hello", 150)
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showString("goodbye", 150)
|
||||
})
|
||||
```
|
||||
@ -43,7 +43,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
The answer is that whenever button A is pressed, the string "goodbye" will be printed. If you want both the strings "hello" and "goodbye" to be printed, you need to write the code like this:
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showString("hello", 150)
|
||||
basic.showString("goodbye", 150)
|
||||
})
|
||||
|
@ -16,11 +16,11 @@ Press button ``A`` as much as possible to increase the score.
|
||||
Press ``B`` to display the score and reset the score.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
basic.showNumber(game.score())
|
||||
game.setScore(0)
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
```
|
||||
|
@ -16,7 +16,7 @@ Press button ``A`` as much as possible.
|
||||
At the end of 10 seconds, the program will show your score.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
game.startCountdown(10000)
|
||||
|
@ -27,7 +27,7 @@ let img = images.createImage(`
|
||||
. . . . .
|
||||
`)
|
||||
img.showImage(0)
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
img.clear()
|
||||
img.showImage(0)
|
||||
})
|
||||
|
@ -14,10 +14,10 @@ If you press button `B`, it shows an animation and ends the game.
|
||||
|
||||
```blocks
|
||||
basic.showString("PICK A BUTTON");
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
basic.showString("YOU WIN!");
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
game.gameOver();
|
||||
});
|
||||
```
|
||||
|
@ -20,7 +20,7 @@ degrees -- exactly the opposite direction.
|
||||
```blocks
|
||||
let ball = game.createSprite(4, 2);
|
||||
basic.showNumber(ball.get(LedSpriteProperty.Direction));
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
ball.ifOnEdgeBounce();
|
||||
basic.showNumber(ball.get(LedSpriteProperty.Direction));
|
||||
});
|
||||
|
@ -13,7 +13,7 @@ This program adds one point to your score every time you press button
|
||||
second) and shows your score.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
game.addScore(1);
|
||||
basic.pause(500);
|
||||
basic.showNumber(game.score());
|
||||
|
@ -16,11 +16,11 @@ Press button ``A`` as much as possible to increase the score.
|
||||
Press ``B`` to display the score and reset the score.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
basic.showNumber(game.score())
|
||||
game.setScore(0)
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
```
|
||||
|
@ -17,7 +17,7 @@ Press button ``A`` as much as possible.
|
||||
At the end of 10 seconds, the program will show your score.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
game.startCountdown(10000)
|
||||
|
@ -29,10 +29,10 @@ Display a left arrow when button A is pressed or a right arrow when button B is
|
||||
let arrowLeft = images.arrowImage(ArrowNames.West)
|
||||
let arrowRight = images.arrowImage(ArrowNames.East)
|
||||
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
arrowLeft.showImage(0);
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
arrowRight.showImage(0);
|
||||
});
|
||||
```
|
||||
|
@ -36,10 +36,10 @@ let arrows = images.createBigImage(`
|
||||
. . # . . . # # # .
|
||||
. . # . . . . # . .
|
||||
`);
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
arrows.showImage(0);
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
arrows.showImage(5);
|
||||
});
|
||||
```
|
||||
|
@ -25,7 +25,7 @@ arrow and show it on the LED screen. If you press button `B`, the
|
||||
program will show a picture of the arrow upside-down.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
images.createImage(`
|
||||
. . # . .
|
||||
. # # # .
|
||||
@ -34,7 +34,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
. . # . .
|
||||
`).showImage(0);
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
images.createImage(`
|
||||
. . # . .
|
||||
. . # . .
|
||||
|
@ -20,10 +20,10 @@ Show a happy face when button A is pressed or a sad face when button B is presse
|
||||
let iamHappy = images.iconImage(IconNames.Happy)
|
||||
let iamSad = images.iconImage(IconNames.Sad)
|
||||
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
iamHappy.showImage(0);
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
iamSad.showImage(0);
|
||||
});
|
||||
```
|
||||
|
@ -31,10 +31,10 @@ let arrows = images.createBigImage(`
|
||||
. . # . . . # # # .
|
||||
. . # . . . . # . .
|
||||
`);
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
arrows.showImage(0);
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
arrows.showImage(5);
|
||||
});
|
||||
```
|
||||
|
@ -3,7 +3,7 @@
|
||||
Events and data from sensors
|
||||
|
||||
```cards
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
|
||||
});
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
|
@ -23,7 +23,7 @@ confuse the @boardname@.
|
||||
This example runs the calibration when the user presses **A+B** buttons.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
|
||||
input.calibrateCompass();
|
||||
})
|
||||
```
|
||||
|
@ -70,7 +70,7 @@ confuse the @boardname@.
|
||||
Keep the calibration handy by running it when the user pressed **A+B**.
|
||||
|
||||
```block
|
||||
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
|
||||
input.calibrateCompass();
|
||||
})
|
||||
```
|
||||
|
@ -29,7 +29,7 @@ program shows the light level
|
||||
on the [LED screen](/device/screen).
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
let level = input.lightLevel()
|
||||
basic.showNumber(level)
|
||||
})
|
||||
|
@ -9,7 +9,7 @@ on the @boardname@.
|
||||
* For `A` and `B` together: This handler works when `A` and `B` are both pushed down, then one of them is released within 1.5 seconds of pushing down the second button.
|
||||
|
||||
```sig
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {})
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {})
|
||||
```
|
||||
|
||||
Find out how buttons provide input to the @boardname@ in this video:
|
||||
@ -24,7 +24,7 @@ Each time you press the button, the [LED screen](/device/screen) shows the `coun
|
||||
```blocks
|
||||
let count = 0
|
||||
basic.showNumber(count)
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
count++;
|
||||
basic.showNumber(count);
|
||||
})
|
||||
@ -35,7 +35,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
This example shows a number from 1 to 6 when you press the `B` button.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
let dice = Math.randomRange(0, 5) + 1
|
||||
basic.showNumber(dice)
|
||||
})
|
||||
|
@ -18,7 +18,7 @@ program finds the number of milliseconds since the program started
|
||||
and shows it on the [LED screen](/device/screen).
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
let now = input.runningTime()
|
||||
basic.showNumber(now)
|
||||
})
|
||||
|
@ -15,7 +15,7 @@ led.enable(false);
|
||||
This program turns off the screen when pressing button ``B``
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
led.enable(false)
|
||||
});
|
||||
```
|
||||
|
@ -13,7 +13,7 @@ This program sets up the ``stop animation`` part of the program,
|
||||
and then shows a string that you can stop with button ``B``.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
led.stopAnimation();
|
||||
});
|
||||
basic.showString("STOP ME! STOP ME! PLEASE, WON'T SOMEBODY STOP ME?");
|
||||
|
@ -43,7 +43,7 @@ music.onEvent(MusicEvent.BackgroundMelodyResumed, () => {
|
||||
music.onEvent(MusicEvent.BackgroundMelodyRepeated, () => {
|
||||
serial.writeLine("background repeated")
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
music.beginMelody(music.builtInMelody(Melodies.BaDing), MelodyOptions.Once)
|
||||
})
|
||||
music.setTempo(100)
|
||||
|
@ -17,7 +17,7 @@ This example send the frequency and duration over radio
|
||||
and plays it on the remote @boardname@.
|
||||
|
||||
```typescript
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
music.playTone(440, 120)
|
||||
led.toggle(0, 0)
|
||||
})
|
||||
@ -26,7 +26,7 @@ radio.onReceivedNumber(function (receivedNumber) {
|
||||
const duration = receivedNumber & 0xffff;
|
||||
music.playTone(freq, duration);
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
music.setPlayTone((frequency: number, duration: number) => {
|
||||
radio.sendNumber((frequency << 16) | (duration & 0xffff));
|
||||
})
|
||||
|
@ -48,7 +48,7 @@ keeper @boardname@, you can press button `B` on the remote to buzz and
|
||||
make the score bigger on the other @boardname@.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
pins.digitalWritePin(DigitalPin.P1, 1);
|
||||
basic.pause(500);
|
||||
pins.digitalWritePin(DigitalPin.P1, 0);
|
||||
|
@ -46,7 +46,7 @@ will use ``digital write pin`` to make the other @boardname@ buzz and
|
||||
make the score bigger.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
pins.digitalWritePin(DigitalPin.P1, 1);
|
||||
basic.pause(500);
|
||||
pins.digitalWritePin(DigitalPin.P1, 0);
|
||||
|
@ -34,7 +34,7 @@ If you load this program onto two or more @boardname@s, you can send a code word
|
||||
The other @boardname@s will receive the code word and then show it.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendString("Codeword: TRIMARAN")
|
||||
basic.showString("SENT");
|
||||
})
|
||||
@ -59,10 +59,10 @@ This program will also receive your friend's mood.
|
||||
|
||||
```blocks
|
||||
let data: string = "";
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendString("H");
|
||||
});
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
radio.sendString("S");
|
||||
});
|
||||
radio.onDataReceived(() => {
|
||||
|
@ -27,7 +27,7 @@ in the `x` direction (left and right) to other @boardname@s. This kind
|
||||
of program might be useful in a model car or model rocket.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendNumber(input.acceleration(Dimension.X))
|
||||
})
|
||||
```
|
||||
|
@ -26,7 +26,7 @@ code word from one of them to the others by pressing button `A`. The
|
||||
other @boardname@s will receive the code word and then show it.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendString("Codeword: TRIMARAN")
|
||||
basic.showString("SENT");
|
||||
})
|
||||
|
@ -29,7 +29,7 @@ or model rocket.
|
||||
|
||||
```blocks
|
||||
radio.setGroup(99)
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendValue("acc", input.acceleration(Dimension.X))
|
||||
})
|
||||
```
|
||||
|
@ -29,7 +29,7 @@ the second @boardname@), this program sends temperature data to
|
||||
serial.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
radio.sendNumber(input.temperature());
|
||||
});
|
||||
radio.onDataReceived(() => {
|
||||
|
@ -32,7 +32,7 @@ serial port to use the pins. The new configuration uses pin ``P1`` to transmit a
|
||||
``P2`` to receive. The baud rate is set to `9600`.
|
||||
|
||||
```blocks
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
serial.redirect(SerialPin.P1, SerialPin.P2, BaudRate.BaudRate9600);
|
||||
});
|
||||
```
|
||||
|
@ -57,7 +57,7 @@ You could simply save the light measurements in an array like this:
|
||||
|
||||
```blocks
|
||||
let darkness: number[] = []
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
for (let i = 0; i < 60 * 4; i++) {
|
||||
darkness.push(input.lightLevel())
|
||||
basic.pause(60000)
|
||||
@ -77,7 +77,7 @@ The code in blocks for recording the light level is modified to make our file da
|
||||
|
||||
```typescript-ignore
|
||||
let darkness = pins.createBuffer(60 * 4);
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
for (let i = 0; i < 60 * 4; i++) {
|
||||
darkness.setNumber(NumberFormat.UInt8LE, i, input.lightLevel())
|
||||
basic.pause(60000)
|
||||
@ -90,7 +90,7 @@ Later, we can upload the file to the laptop computer by pressing the **B** butto
|
||||
```typescript-ignore
|
||||
let dataReady = false;
|
||||
let darkness = pins.createBuffer(60 * 4);
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
for (let i = 0; i < 60 * 4; i++) {
|
||||
darkness.setNumber(NumberFormat.UInt8LE, i, input.lightLevel())
|
||||
basic.pause(60000)
|
||||
@ -98,7 +98,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
dataReady = true;
|
||||
})
|
||||
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
if (dataReady) {
|
||||
serial.writeLine("Transferring file: DARKNESS, Length: " + darkness.length + " bytes...");
|
||||
serial.writeBuffer(darkness)
|
||||
|
@ -388,7 +388,7 @@
|
||||
"input.onLogoUp": "Attaches code to run when the logo is oriented upwards and the board is vertical.",
|
||||
"input.onLogoUp|param|body": "TODO",
|
||||
"input.onPinEvent": "Do something when a pin is touched and released again (while also touching the GND pin).",
|
||||
"input.onPinEvent|param|body": "the code to run when the pin is pressed",
|
||||
"input.onPinEvent|param|body": "the code to run when event is fired on pin",
|
||||
"input.onPinEvent|param|name": "the pin, eg: TouchPin.P0",
|
||||
"input.onScreenDown": "Attaches code to run when the screen is facing down.",
|
||||
"input.onScreenDown|param|body": "TODO",
|
||||
|
@ -323,9 +323,9 @@ namespace game {
|
||||
}
|
||||
|
||||
function unplugEvents(): void {
|
||||
input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { });
|
||||
input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { });
|
||||
input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.onButtonEvent(Button.A, ButtonEvent.Click, () => { });
|
||||
input.onButtonEvent(Button.B, ButtonEvent.Click, () => { });
|
||||
input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
|
||||
control.reset();
|
||||
});
|
||||
}
|
||||
|
@ -230,9 +230,9 @@ namespace input {
|
||||
/**
|
||||
* Do something when a pin is touched and released again (while also touching the GND pin).
|
||||
* @param name the pin, eg: TouchPin.P0
|
||||
* @param body the code to run when the pin is pressed
|
||||
* @param body the code to run when event is fired on pin
|
||||
*/
|
||||
//% help=input/on-pin-pressed weight=83 blockGap=32
|
||||
//% help=input/on-pin-event weight=83 blockGap=32
|
||||
//% blockId=device_pin_event block="on pin %name|is %eventType=control_button_event_value_id"
|
||||
void onPinEvent(TouchPin name, int eventType, Action body) {
|
||||
auto pin = getPin((int)name);
|
||||
|
4
libs/core/shims.d.ts
vendored
4
libs/core/shims.d.ts
vendored
@ -257,9 +257,9 @@ declare namespace input {
|
||||
/**
|
||||
* Do something when a pin is touched and released again (while also touching the GND pin).
|
||||
* @param name the pin, eg: TouchPin.P0
|
||||
* @param body the code to run when the pin is pressed
|
||||
* @param body the code to run when event is fired on pin
|
||||
*/
|
||||
//% help=input/on-pin-pressed weight=83 blockGap=32
|
||||
//% help=input/on-pin-event weight=83 blockGap=32
|
||||
//% blockId=device_pin_event block="on pin %name|is %eventType=control_button_event_value_id" shim=input::onPinEvent
|
||||
function onPinEvent(name: TouchPin, eventType: int32, body: () => void): void;
|
||||
|
||||
|
@ -15,9 +15,9 @@ namespace pxsim.input {
|
||||
b.usesButtonAB = true;
|
||||
runtime.queueDisplayUpdate();
|
||||
}
|
||||
pxtcore.registerWithDal(button, DAL.MICROBIT_BUTTON_EVT_CLICK, handler);
|
||||
pxtcore.registerWithDal(button, ButtonEvent.Click, handler);
|
||||
}
|
||||
|
||||
|
||||
export function buttonIsPressed(button: number): boolean {
|
||||
let b = board().buttonPairState;
|
||||
if (button == b.abBtn.id && !b.usesButtonAB) {
|
||||
|
@ -13,7 +13,7 @@ namespace pxsim.input {
|
||||
if (!pin) return;
|
||||
pin.isTouched();
|
||||
runtime.queueDisplayUpdate();
|
||||
pxtcore.registerWithDal(pin.id, DAL.MICROBIT_BUTTON_EVT_CLICK, handler);
|
||||
pxtcore.registerWithDal(pin.id, ButtonEvent.Click, handler);
|
||||
}
|
||||
|
||||
// Deprecated
|
||||
|
@ -7,7 +7,7 @@ let level: number
|
||||
let swapSpeed: number
|
||||
|
||||
initializeGame()
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
if (ballRevealing) {
|
||||
index = index + 1
|
||||
if (index > 2) {
|
||||
@ -16,7 +16,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
basic.showString(cupSelect[index], 150)
|
||||
}
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
if (ballRevealing) {
|
||||
ballRevealing = false
|
||||
if (correctBall == index) {
|
||||
|
@ -18,7 +18,7 @@ counter = 0
|
||||
pause = 700
|
||||
led.plot(oneX, oneY)
|
||||
led.plot(twoX, twoY)
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
if (oneX > 0) {
|
||||
led.unplot(oneX, oneY)
|
||||
led.unplot(twoX, twoY)
|
||||
@ -28,7 +28,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
led.plot(twoX, twoY)
|
||||
}
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
if (twoX < 4) {
|
||||
led.unplot(oneX, oneY)
|
||||
led.unplot(twoX, twoY)
|
||||
|
@ -107,12 +107,12 @@ basic.forever(() => {
|
||||
basic.pause(500)
|
||||
}
|
||||
})
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
let temp = Math.abs(person.dirX) * (-1)
|
||||
person.dirX = Math.abs(person.dirY) * (-1)
|
||||
person.dirY = temp
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
let temp1 = Math.abs(person.dirX)
|
||||
person.dirX = Math.abs(person.dirY)
|
||||
person.dirY = temp1
|
||||
|
@ -24,13 +24,13 @@ playOneGame(gameTime)
|
||||
showFinalScores(scoreA, scoreB)
|
||||
|
||||
function startIOMonitor() {
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
AWasPressed = true
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
BWasPressed = true
|
||||
})
|
||||
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
|
||||
ABWasPressed = true
|
||||
AWasPressed = false
|
||||
BWasPressed = false
|
||||
|
@ -501,13 +501,13 @@ function convertPenaltyTimeToScore(penaltyTime: number): number {
|
||||
}
|
||||
|
||||
function startIOMonitor() {
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
AWasPressed = true
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
BWasPressed = true
|
||||
})
|
||||
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
|
||||
ABWasPressed = true
|
||||
})
|
||||
input.onShake(() => {
|
||||
|
@ -377,11 +377,11 @@ function beepNTimesFor(times: number, duration: number) {
|
||||
|
||||
function startIOMonitor() {
|
||||
aWasPressed = false
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
aWasPressed = true
|
||||
})
|
||||
bWasPressed = false
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
bWasPressed = true
|
||||
})
|
||||
wasTweezers = false
|
||||
|
@ -476,10 +476,10 @@ function testTiltZ() {
|
||||
}
|
||||
|
||||
function startIOMonitor() {
|
||||
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
|
||||
AWasPressed = true
|
||||
})
|
||||
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
|
||||
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
|
||||
BWasPressed = true
|
||||
})
|
||||
input.onShake(() => {
|
||||
|
Loading…
Reference in New Issue
Block a user