2020年8月31日月曜日
VISUAL STUDIO ここまで成功
下部の画面に大きく字を描きます。
---------------------------------
private void FormBallGame_Load(object sender, EventArgs e)
{
DrawCircleSelectPictureBox();
DrawmainPictureBox();
}
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height;
int width = selectPictureBox.Width;
Bitmap selectCanvas = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(selectCanvas))
{
g.FillEllipse(Brushes.LightBlue, 0, 0, height, height);
selectPictureBox.Image = selectCanvas;
}
}
private void DrawmainPictureBox()
{
Bitmap canvas = new Bitmap(mainPictureBox.Width,
mainPictureBox.Height);
using(Graphics g = Graphics.FromImage(canvas))
{
g.DrawString("萩",
new Font("HG教科書体",
mainPictureBox.Height - mainPictureBox.Height / 4 ),
Brushes.Gray,0,0,new StringFormat());
mainPictureBox.Image = canvas;
}
}
-------------------------------------
文字のフォントをメイリオにするとはみ出ました。ちなみに、
mainPictureBox.Height - mainPictureBox.Height / 4 ←を3にするとうまく表示されます。
---------------------------------
private void FormBallGame_Load(object sender, EventArgs e)
{
DrawCircleSelectPictureBox();
DrawmainPictureBox();
}
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height;
int width = selectPictureBox.Width;
Bitmap selectCanvas = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(selectCanvas))
{
g.FillEllipse(Brushes.LightBlue, 0, 0, height, height);
selectPictureBox.Image = selectCanvas;
}
}
private void DrawmainPictureBox()
{
Bitmap canvas = new Bitmap(mainPictureBox.Width,
mainPictureBox.Height);
using(Graphics g = Graphics.FromImage(canvas))
{
g.DrawString("萩",
new Font("HG教科書体",
mainPictureBox.Height - mainPictureBox.Height / 4 ),
Brushes.Gray,0,0,new StringFormat());
mainPictureBox.Image = canvas;
}
}
-------------------------------------
文字のフォントをメイリオにするとはみ出ました。ちなみに、
mainPictureBox.Height - mainPictureBox.Height / 4 ←を3にするとうまく表示されます。
VISUAO STUDIO 再挑戦
画面作成は、前と同様簡単にできました。
さて、描画です。ここからつまづいたのです。
本のとおり、プログラムを打ち込みましたが、using ・・・はこのバージョンでは仕え居ないと表示されます。受けつけてくれないのです。仕方なくこれをはずし、
無理矢理のプログラム(おそらくGraphicsが開放されない)でやってみると、
{
DrawCircleSelectPictureBox();
}
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height;
int width = selectPictureBox.Width;
Bitmap selectCanvas = new Bitmap(width, height);
Graphics g = Graphics.FromImage(selectCanvas);
g.FillEllipse(Brushes.LightBlue, 0, 0, height, height);
selectPictureBox.Image = selectCanvas;
}
-----------------------------------
気まぐれに、usingの後に(を付けてみると、
正しいプログラム
------------------------------------
private void FormBallGame_Load(object sender, EventArgs e)
{
DrawCircleSelectPictureBox();
}
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height;
int width = selectPictureBox.Width;
Bitmap selectCanvas = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(selectCanvas))
{
g.FillEllipse(Brushes.LightBlue, 0, 0, height, height);
selectPictureBox.Image = selectCanvas;
}
}
------------------------------------
できました!
本には、「(」がなかったのです。
さて、描画です。ここからつまづいたのです。
本のとおり、プログラムを打ち込みましたが、using ・・・はこのバージョンでは仕え居ないと表示されます。受けつけてくれないのです。仕方なくこれをはずし、
無理矢理のプログラム(おそらくGraphicsが開放されない)でやってみると、
できました。
なおも、本のプログラムを見ていると、using・・・の最後に)が2つあるのです。
---------------------------------
private void FormBallGame_Load(object sender, EventArgs e){
DrawCircleSelectPictureBox();
}
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height;
int width = selectPictureBox.Width;
Bitmap selectCanvas = new Bitmap(width, height);
Graphics g = Graphics.FromImage(selectCanvas);
g.FillEllipse(Brushes.LightBlue, 0, 0, height, height);
selectPictureBox.Image = selectCanvas;
}
-----------------------------------
気まぐれに、usingの後に(を付けてみると、
正しいプログラム
------------------------------------
private void FormBallGame_Load(object sender, EventArgs e)
{
DrawCircleSelectPictureBox();
}
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height;
int width = selectPictureBox.Width;
Bitmap selectCanvas = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(selectCanvas))
{
g.FillEllipse(Brushes.LightBlue, 0, 0, height, height);
selectPictureBox.Image = selectCanvas;
}
}
------------------------------------
できました!
本には、「(」がなかったのです。
2020年8月30日日曜日
人感センサーと圧電(たぶん)スピーカー
音程の出るスピーカーを圧電スピーカーと思っていて、なかなか音が出ませんでした。
また、人感センサーの接続が間違っていないか自信を持つのに数時間。
どうもスピーカーがだめなのだと気づくまでに数時間。
スピーカーを取り替え、接続も間違っていたのを直し、
やっと音が出るようになりました。
前回、人感センサーを使ったときは、シリアルモニターに数字が(1)表示されるようになっていましたが、今回は音が出るので人に反応しているのを実感できました。
やっとできて、しばらくピーピー鳴らせています。
------------------------------------------------------------------------------
const int sensorPin = 2;
const int buzzerPin = 8;
void setup(){
pinMode( buzzerPin ,OUTPUT);
pinMode( sensorPin,INPUT);
}
void loop(){
boolean sensorState = digitalRead(sensorPin);
digitalWrite( buzzerPin ,sensorState);
delay(10);
}
----------------------------------
また、人感センサーの接続が間違っていないか自信を持つのに数時間。
どうもスピーカーがだめなのだと気づくまでに数時間。
スピーカーを取り替え、接続も間違っていたのを直し、
やっと音が出るようになりました。
前回、人感センサーを使ったときは、シリアルモニターに数字が(1)表示されるようになっていましたが、今回は音が出るので人に反応しているのを実感できました。
やっとできて、しばらくピーピー鳴らせています。
------------------------------------------------------------------------------
const int sensorPin = 2;
const int buzzerPin = 8;
void setup(){
pinMode( buzzerPin ,OUTPUT);
pinMode( sensorPin,INPUT);
}
void loop(){
boolean sensorState = digitalRead(sensorPin);
digitalWrite( buzzerPin ,sensorState);
delay(10);
}
----------------------------------
arduino ステッピングモーター Stepper motor 28BYJ-48 Parameters
中でモーターが動く音はしているのですが、軸が回りません。
どうも、モーターがダメなのかもしれません。
------------------------------------
const int dirPin = 12;
const int stepPin = 13;
void setup(){
digitalWrite(dirPin,OUTPUT);
pinMode(stepPin,OUTPUT);
}
void loop(){
digitalWrite(dirPin,HIGH);
for ( int i=0; i < 200 ; i++){
digitalWrite(stepPin,HIGH);
delay(1);
digitalWrite( stepPin,LOW);
delay(1);
}
delay(1000);
digitalWrite( dirPin,LOW);
for (int i = 0;i<200;i++){
digitalWrite( stepPin,HIGH);
delay(1);
digitalWrite( stepPin,LOW);
delay(1);
}
delay(1000);
}
-------------------------------
どうも、モーターがダメなのかもしれません。
------------------------------------
const int dirPin = 12;
const int stepPin = 13;
void setup(){
digitalWrite(dirPin,OUTPUT);
pinMode(stepPin,OUTPUT);
}
void loop(){
digitalWrite(dirPin,HIGH);
for ( int i=0; i < 200 ; i++){
digitalWrite(stepPin,HIGH);
delay(1);
digitalWrite( stepPin,LOW);
delay(1);
}
delay(1000);
digitalWrite( dirPin,LOW);
for (int i = 0;i<200;i++){
digitalWrite( stepPin,HIGH);
delay(1);
digitalWrite( stepPin,LOW);
delay(1);
}
delay(1000);
}
-------------------------------
2020年8月29日土曜日
登録:
投稿 (Atom)