チェンジセット 1913
- コミット日時:
- 2008/11/30 01:30:43 (4 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as
r1891 r1913 47 47 public var compatibility_0_0_1:Boolean = false; 48 48 public var compatibility_0_1_0:Boolean = false; 49 50 // 20081129-haku2 ins start 51 // 描画終了位置 52 private var btnUpX:uint = 0, btnUpY:uint = 0; 53 // キー状態保持 54 public var key_A:Boolean = false; 55 public var key_Q:Boolean = false; 56 public var key_R:Boolean = false; 57 // 20081129-haku2 ins end 49 58 50 59 public function GPLogger(log:ByteArray, … … 1146 1155 return; 1147 1156 } 1148 _fromPoint = new Point(evt.localX, evt.localY); 1157 // 20081129-haku2 ins start 1158 // マウスボタン押下時に Rキーが押されていたら、図形の始点を直前の描画終了位置に置き換える 1159 if(key_R) { 1160 _fromPoint = new Point(btnUpX, btnUpY); 1161 } else { 1162 _fromPoint = new Point(evt.localX, evt.localY); 1163 } 1164 // 20081129-haku2 ins end 1165 // 20081129-haku2 del start 1166 //_fromPoint = new Point(evt.localX, evt.localY); 1167 // 20081129-haku2 del end 1149 1168 _drawing = true; 1150 1169 … … 1242 1261 dx = evt.localX - _fromPoint.x; 1243 1262 dy = evt.localY - _fromPoint.y; 1244 _pen.previewDrawCircle(_fromPoint.x, _fromPoint.y, Math.sqrt(dx * dx + dy * dy)); 1263 // 20081129-haku2 ins start 1264 var mx:Number, my:Number, mo:Number; 1265 if(key_A) { 1266 // 正方形の一辺を指定し、その対角を中心点とする(反時計回り) 1267 mx = evt.localX + dy; 1268 my = evt.localY - dx; 1269 } else if(key_Q) { 1270 // 正方形の一辺を指定し、その対角を中心点とする(時計回り) 1271 mx = evt.localX - dy; 1272 my = evt.localY + dx; 1273 } else { 1274 // 始点を中心点とする 1275 mx = _fromPoint.x; 1276 my = _fromPoint.y; 1277 } 1278 _pen.previewDrawCircle(mx, my, Math.sqrt(dx * dx + dy * dy)); 1279 // 20081129-haku2 ins end 1280 // 20081129-haku2 del start 1281 //_pen.previewDrawCircle(_fromPoint.x, _fromPoint.y, Math.sqrt(dx * dx + dy * dy)); 1282 // 20081129-haku2 del end 1245 1283 } 1246 1284 break; … … 1318 1356 dy = evt.localY - _fromPoint.y; 1319 1357 // 始点と終点が違う場合にのみ円を描く 1320 this.eventMoveTo(_fromPoint.x, _fromPoint.y); 1358 // 20081129-haku2 ins start 1359 var mx:Number, my:Number, mo:Number; 1360 if(key_A) { 1361 // 正方形の一辺を指定し、その対角を中心点とする(反時計回り) 1362 mx = evt.localX + dy; 1363 my = evt.localY - dx; 1364 } else if(key_Q) { 1365 // 正方形の一辺を指定し、その対角を中心点とする(時計回り) 1366 mx = evt.localX - dy; 1367 my = evt.localY + dx; 1368 } else { 1369 // 始点を中心点とする 1370 mx = _fromPoint.x; 1371 my = _fromPoint.y; 1372 } 1373 this.eventMoveTo(mx, my); 1321 1374 this.eventDrawCircle(Math.sqrt(dx * dx + dy * dy)); 1375 // 20081129-haku2 ins end 1376 // 20081129-haku2 del start 1377 //this.eventMoveTo(_fromPoint.x, _fromPoint.y); 1378 // 20081129-haku2 del end 1322 1379 this.eventDrawShapeOnBitmap(); 1323 1380 } … … 1337 1394 break; 1338 1395 } 1396 // 20081129-haku2 ins start 1397 // 描画終了位置を保持 1398 btnUpX = evt.localX; 1399 btnUpY = evt.localY; 1400 // 20081129-haku2 ins end 1339 1401 } 1340 1402

